详解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实现监控windows服务并自动启动服务示例
Apr 17 Python
python numpy 一维数组转变为多维数组的实例
Jul 02 Python
Python中一般处理中文的几种方法
Mar 06 Python
浅谈python标准库--functools.partial
Mar 13 Python
pandas删除指定行详解
Apr 04 Python
python给图像加上mask,并提取mask区域实例
Jan 19 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
Mar 10 Python
python 实现两个npy档案合并
Jul 01 Python
Python接口自动化测试框架运行原理及流程
Nov 30 Python
conda安装tensorflow和conda常用命令小结
Feb 20 Python
Python opencv缺陷检测的实现及问题解决
Apr 24 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下使用strpos需要注意 === 运算符
2010/07/17 PHP
typecho插件编写教程(五):核心代码
2015/05/28 PHP
php阳历转农历优化版
2016/08/08 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
JS前端加密算法示例
2016/12/22 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
理解Koa2中的async&await的用法
2018/02/05 Javascript
JS使用正则表达式实现常用的表单验证功能分析
2020/04/30 Javascript
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
django将图片上传数据库后在前端显式的方法
2018/05/25 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
基于Django实现日志记录报错信息
2019/12/17 Python
python实现随机加减法生成器
2020/02/24 Python
使用python实现时间序列白噪声检验方式
2020/06/03 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
毕业自我鉴定
2013/11/05 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
Python中itertools库的四个函数介绍
2022/04/06 Python
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL