详解Python的Django框架中的templates设置


Posted in Python onMay 11, 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 内置字符串处理函数的使用方法
Jun 11 Python
python轻松查到删除自己的微信好友
Jan 10 Python
Python利用pandas计算多个CSV文件数据值的实例
Apr 19 Python
Python3中的json模块使用详解
May 05 Python
python实现超简单的视频对象提取功能
Jun 04 Python
python3中zip()函数使用详解
Jun 29 Python
Python/Django后端使用PIL Image生成头像缩略图
Apr 30 Python
python turtle库画一个方格和圆实例
Jun 27 Python
python解释器安装教程的方法步骤
Jul 02 Python
Python with语句用法原理详解
Jul 03 Python
浅谈盘点5种基于Python生成的个性化语音方法
Feb 05 Python
python实现简单倒计时功能
Apr 21 Python
Python素数检测的方法
May 11 #Python
Python中IPYTHON入门实例
May 11 #Python
Python使用MONGODB入门实例
May 11 #Python
python学习数据结构实例代码
May 11 #Python
Python使用CMD模块更优雅的运行脚本
May 11 #Python
Python中DJANGO简单测试实例
May 11 #Python
python单元测试unittest实例详解
May 11 #Python
You might like
php站内搜索并高亮显示关键字的实现代码
2011/12/29 PHP
php文件操作实例代码
2012/05/10 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
PHP安全上传图片的方法
2015/03/21 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
IE DOM实现存在的部分问题及解决方法
2009/07/25 Javascript
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
在javascript中执行任意html代码的方法示例解读
2013/12/25 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
微信小程序 实战程序简易新闻的制作
2017/01/09 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
vue结合el-upload实现腾讯云视频上传功能
2020/07/01 Javascript
详解Python list 与 NumPy.ndarry 切片之间的对比
2017/07/24 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
Python调用C语言的方法【基于ctypes模块】
2018/01/22 Python
在Python中定义一个常量的方法
2018/11/10 Python
python处理DICOM并计算三维模型体积
2019/02/26 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
越南综合购物网站:Lazada越南
2019/06/10 全球购物
材料物理专业大学毕业生求职信
2013/10/15 职场文书
劳动之星获奖感言
2014/02/01 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers