详解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生成器(Generator)详解
Apr 13 Python
python中的装饰器详解
Apr 13 Python
基于Python os模块常用命令介绍
Nov 03 Python
python简单实现操作Mysql数据库
Jan 29 Python
Python进阶之递归函数的用法及其示例
Jan 31 Python
Python 读取串口数据,动态绘图的示例
Jul 02 Python
利用Python库Scapy解析pcap文件的方法
Jul 23 Python
python实现本地批量ping多个IP的方法示例
Aug 07 Python
python mqtt 客户端的实现代码实例
Sep 25 Python
手把手教你Python yLab的绘制折线图的画法
Oct 23 Python
Django连接数据库并实现读写分离过程解析
Nov 13 Python
基于virtualenv创建python虚拟环境过程图解
Mar 30 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连接MySQL代码的参数说明
2008/06/07 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
jQuery自定义事件的简单实现代码
2014/01/27 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
2019/07/19 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
用Python遍历C盘dll文件的方法
2015/05/06 Python
Python变量赋值的秘密分享
2018/04/03 Python
python在文本开头插入一行的实例
2018/05/02 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
Django如何使用redis作为缓存
2020/05/21 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
自动化专业本科毕业生求职信
2013/10/20 职场文书
英语专业推荐信
2013/11/16 职场文书
计算机专业毕业生自荐信
2013/12/31 职场文书
车贷收入证明范本
2014/01/09 职场文书
中学生运动会通讯稿大全
2014/09/18 职场文书
音乐教师个人总结
2015/02/06 职场文书
学困生转化工作总结
2015/08/13 职场文书
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫