Python的Django框架中TEMPLATES项的设置教程


Posted in Python onMay 29, 2015

TEMPLATES

Django 1.8的新特性
一个列表,包含所有在Django中使用的模板引擎的设置。列表中的每一项都是一个字典,包含某个引擎的选项。

以下是一个简单的设定,告诉Django模板引擎从已安装的应用程序(installed applications)的templates子目录中读取模板:

TEMPLATES = [
  {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'APP_DIRS': True,
  },
]

以下选项对所有引擎(backends)都可用。
BACKEND

默认:无定义
使用的模板引擎。内建的模板引擎有:

'django.template.backends.django.DjangoTemplates'
  'django.template.backends.jinja2.Jinja2'

通过设置BACKEND为一个完整的(fully-qualified)路径(例如'mypackage.whatever.Backend'),你可以使用非Django自带的引擎。
NAME

默认:看下面
该模板引擎的别名。它是一个标识符,让你在渲染时可以选择一个引擎。别名在所有配置好的模板引擎中必须是唯一的。
当未提供值时,默认是定义引擎类的模板名,也即是与BACKEND相邻的最后一部分。
例如如果引擎是'mypackage.whatever.Backend',那么它的默认名为'whatever'。
DIRS

默认:[](空列表)
引擎用于查找模板源文件的目录,按搜索顺序排列。
APP_DIRS

默认:False
引擎是否在已安装应用程序(的目录)内查找模板源文件。
OPTIONS

默认:{}(空字典)
传递给该模板引擎(backend)的其他参数。不同的引擎,可用的参数不一样。
TEMPLATE_CONTEXT_PROCESSORS

默认:

("django.contrib.auth.context_processors.auth",
"django.template.context_processors.debug",
"django.template.context_processors.i18n",
"django.template.context_processors.media",
"django.template.context_processors.static",
"django.template.context_processors.tz",
"django.contrib.messages.context_processors.messages")

    自1.8版本起,不赞成使用:
    在一个DjangoTemplates引擎中的OPTIONS设置'context_processors'选项来代替。

用于填充在RequestContext中的上下文的调用函数(callables)的元组。这些函数获取一个request对象作为它的参数,返回一个将要填充至上下文项目的字典。

  •     Django 1.8的变化:
  •     在Django 1.8中,内建模板的上下文处理器从django.core.context_processors移至django.template.context_processors。

TEMPLATE_DEBUG

默认:False

  •     自1.8版本起,不赞成使用:
  •     在一个DjangoTemplates引擎中的OPTIONS设置'debug' 选项来代替。

一个打开/关闭模板调试模式的布尔值。如果值是True,在模板渲染期间,抛出任何异常都将显示一个可爱的、详情报告的错误页面。该页面包含该模板相关的代码段,并且使用适当的行高亮。
注意如果DEBUG是True,Django只会显示可爱的错误页面。
参见 DEBUG。
TEMPLATE_DIRS

默认:()(空列表)

  •     自1.8版本起,不赞成使用:
  •     在一个DjangoTemplates引擎中设置'DIRS'选项来代替。

django.template.loaders.filesystem.Loader搜索模板源代码的路径列表,,按搜索顺序排列。
注意即使在Windows中,这些路径也是使用Unix风格的正斜杠。
参见 The Django template language 。
TEMPLATE_LOADERS

默认:

('django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader')
  •     自1.8版本起,不赞成使用:
  •     在一个DjangoTemplates引擎中的OPTIONS设置'loader'选项来代替。

模板读取器类的元组,用字符串指定。每个读取器类知道怎样从一个特定源(particular source)中导入模板。可选地,也可以使用一个元组来代替使用一个字符串。元组中的第一项应该是读取器的模块,随后的项是在初始化时传递给读取器。参见 The Django template language: for Python programmers。
TEMPLATE_STRING_IF_INVALID

默认:''(空字符串)

  •     自1.8版本起,不赞成使用:
  •     在一个DjangoTemplates引擎中的OPTIONS设置'string_if_invalid' 选项来代替。

当使用了不可用的(比如说拼写错误)变量时模板系统输出的字符串。参见 How invalid variables are handled。

   

Python 相关文章推荐
在Python的Django框架中包装视图函数
Jul 20 Python
python脚本设置超时机制系统时间的方法
Feb 21 Python
python3.5仿微软计算器程序
Mar 30 Python
numpy添加新的维度:newaxis的方法
Aug 02 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
Jul 19 Python
在pycharm中显示python画的图方法
Aug 31 Python
Xadmin+rules实现多选行权限方式(级联效果)
Apr 07 Python
keras 权重保存和权重载入方式
May 21 Python
区分python中的进程与线程
Aug 13 Python
Python实现简单猜数字游戏
Feb 03 Python
python元组拆包实现方法
Feb 28 Python
Python3中最常用的5种线程锁实例总结
Jul 07 Python
编写Python脚本把sqlAlchemy对象转换成dict的教程
May 29 #Python
Python fileinput模块使用实例
May 28 #Python
Python sys.argv用法实例
May 28 #Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 #Python
Python中的with...as用法介绍
May 28 #Python
python关键字and和or用法实例
May 28 #Python
Python yield 使用浅析
May 28 #Python
You might like
做个自己站内搜索引擎
2006/10/09 PHP
PHP操作xml代码
2010/06/17 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
php从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
PHP7多线程搭建教程
2017/04/21 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
短信提示使用 特效
2007/01/19 Javascript
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
利用JS做网页特效_大图轮播(实例讲解)
2017/08/09 Javascript
js匿名函数使用&传参(实例)
2017/09/08 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
2017/12/20 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
2018/07/31 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
2020/01/12 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
Expedia丹麦:全球领先的旅游网站
2018/03/18 全球购物
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书
护士辞职信怎么写
2015/02/27 职场文书
大学生思想道德自我评价
2015/03/09 职场文书