详解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随机生成带特殊字符的密码
Mar 02 Python
Python环境变量设置方法
Aug 28 Python
Python中动态检测编码chardet的使用教程
Jul 06 Python
深入理解Django-Signals信号量
Feb 19 Python
python matplotlib画图库学习绘制常用的图
Mar 19 Python
Python 中的 import 机制之实现远程导入模块
Oct 29 Python
python 中的[:-1]和[::-1]的具体使用
Feb 13 Python
Python读取Excel一列并计算所有对象出现次数的方法
Sep 04 Python
详解BeautifulSoup获取特定标签下内容的方法
Dec 07 Python
python 常用的异步框架汇总整理
Jun 18 Python
关于 Python json中load和loads区别
Nov 07 Python
实例详解Python的进程,线程和协程
Mar 13 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
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
php适配器模式简单应用示例
2019/10/23 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
通过Mootools 1.2来操纵HTML DOM元素
2009/09/15 Javascript
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
Javascript alert消息换行的方法
2013/08/07 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
python实现哈希表
2014/02/07 Python
Python实现SMTP发送邮件详细教程
2021/03/02 Python
50行Python代码实现人脸检测功能
2018/01/23 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
python 一维二维插值实例
2020/04/22 Python
小学生新年寄语
2014/04/03 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
优秀员工自荐书
2015/03/06 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
信息技术课教学反思
2016/02/23 职场文书
总结Pyinstaller打包的高级用法
2021/06/28 Python
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技