详解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使用百度翻译进行中翻英示例
Apr 14 Python
python 接口测试response返回数据对比的方法
Feb 11 Python
Python多线程应用于自动化测试操作示例
Dec 06 Python
BP神经网络原理及Python实现代码
Dec 18 Python
关于Python内存分配时的小秘密分享
Sep 05 Python
python能做什么 python的含义
Oct 12 Python
python pycharm最新版本激活码(永久有效)附python安装教程
Sep 18 Python
pytorch 模拟关系拟合——回归实例
Jan 14 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
Feb 18 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
May 10 Python
python中setuptools的作用是什么
Jun 19 Python
用python给csv里的数据排序的具体代码
Jul 17 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中的cookie不用刷新就生效的方法
2012/02/04 PHP
PHP缓冲区用法总结
2016/02/14 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
php断点续传之文件分割合并详解
2016/12/13 PHP
PDO::rollBack讲解
2019/01/29 PHP
js压缩利器
2007/02/20 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
Django使用多数据库的方法
2017/09/06 Javascript
Vue页面切换和a链接的本质区别详解
2019/11/12 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
浅谈numpy数组的几种排序方式
2017/12/15 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
Python实现微信机器人的方法
2019/09/06 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
Europcar葡萄牙:葡萄牙汽车和货车租赁
2017/10/13 全球购物
Java里面有没有全局变量?为什么?
2015/02/06 面试题
计算机专业个人简短的自我评价
2013/10/23 职场文书
调研汇报材料范文
2014/08/17 职场文书
文明好少年事迹材料
2014/08/19 职场文书
村创先争优活动总结
2014/08/28 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS