详解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 相关文章推荐
Java Web开发过程中登陆模块的验证码的实现方式总结
May 25 Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
Apr 02 Python
python中virtualenvwrapper安装与使用
May 20 Python
python简易实现任意位数的水仙花实例
Nov 13 Python
对Python的多进程锁的使用方法详解
Feb 18 Python
详解Python Qt的窗体开发的基本操作
Jul 14 Python
python Event事件、进程池与线程池、协程解析
Oct 25 Python
什么是python的函数体
Jun 19 Python
Python docutils文档编译过程方法解析
Jun 23 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 Python
如何通过Python实现RabbitMQ延迟队列
Nov 28 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读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
PHP使用header()输出图片缓存实例
2014/12/09 PHP
php页面缓存方法小结
2015/01/10 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
Js+Ajax,Get和Post在使用上的区别小结
2016/06/08 Javascript
JavaScript表单验证开发
2016/11/23 Javascript
简单了解JavaScript sort方法
2019/11/25 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
Python中的异常处理学习笔记
2015/01/28 Python
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
python语言中with as的用法使用详解
2018/02/23 Python
对web.py设置favicon.ico的方法详解
2018/12/04 Python
Python PIL读取的图像发生自动旋转的实现方法
2019/07/05 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
搞笑创意广告语
2014/03/17 职场文书
工作态度恶劣检讨书
2015/05/06 职场文书
大学生心理健康活动总结
2015/05/08 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
大学生受助感言
2015/08/01 职场文书
大学生党课感想
2015/08/11 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
2021/06/30 SQL Server
Python写情书? 10行代码展示如何把情书写在她的照片里
2022/04/21 Python
类和原型的设计模式之复制与委托差异
2022/07/07 Javascript