详解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同时向控制台和文件输出日志logging的方法
May 26 Python
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
浅析Python 中整型对象存储的位置
May 16 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
Python3 中文文件读写方法
Jan 23 Python
python 3.7.0 下pillow安装方法
Aug 27 Python
Python使用一行代码获取上个月是几月
Aug 30 Python
python Django中models进行模糊查询的示例
Jul 18 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
Django admin 实现search_fields精确查询实例
Mar 30 Python
Python3实现建造者模式的示例代码
Jun 28 Python
Python如何对XML 解析
Jun 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的一些基础知识分享
2011/07/27 PHP
php获取数组中重复数据的两种方法
2013/06/28 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
typecho插件编写教程(五):核心代码
2015/05/28 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
简单的无缝滚动程序-仅几行代码
2007/05/08 Javascript
JavaScript 学习笔记(十三)Dom创建表格
2010/01/21 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
javascript date格式化示例
2013/09/25 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
2017/08/01 Javascript
详解Angular6.0使用路由步骤(共7步)
2018/06/29 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
Python写的服务监控程序实例
2015/01/31 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
python 中xpath爬虫实例详解
2019/08/26 Python
python实现打砖块游戏
2020/02/25 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
python代码能做成软件吗
2020/07/24 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
HTML5制作3D爱心动画教程 献给女友浪漫的礼物
2014/11/05 HTML / CSS
全天然狗零食:Best Bully Sticks
2016/09/22 全球购物
美国第一香水网站:Perfume.com
2017/01/23 全球购物
幼儿园教师辞职信
2014/01/18 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
教室布置标语
2014/06/26 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
聘任合同书
2015/09/21 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
七个非常实用的Python工具包总结
2021/06/15 Python