详解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 提取文件的小程序
Jul 29 Python
Python去除列表中重复元素的方法
Mar 20 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
Python初学者常见错误详解
Jul 02 Python
django认证系统实现自定义权限管理的方法
Aug 28 Python
解决pycharm同一目录下无法import其他文件
Feb 12 Python
python如何绘制疫情图
Sep 16 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
Nov 01 Python
scrapy处理python爬虫调度详解
Nov 23 Python
Python中生成ndarray实例讲解
Feb 22 Python
变长双向rnn的正确使用姿势教学
May 31 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 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 magic_quotes_gpc的使用方法详解
2013/06/24 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
JQuery 在线引用及测试引用是否成功
2014/06/24 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
浅谈JavaScript 标准对象
2016/06/02 Javascript
js实现动态创建的元素绑定事件
2016/07/19 Javascript
JavaScript学习笔记整理_setTimeout的应用
2016/09/19 Javascript
jQuery实现的网页换肤效果示例
2016/09/20 Javascript
微信分享调用jssdk实例
2017/06/08 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
javascript中正则表达式语法详解
2020/08/07 Javascript
antd table按表格里的日期去排序操作
2020/11/17 Javascript
vue+iview实现分页及查询功能
2020/11/17 Vue.js
python中zip和unzip数据的方法
2015/05/27 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
世界上最大的艺术社区:SAA
2020/12/30 全球购物
土木工程毕业生自荐信
2013/11/12 职场文书
2014年应届大学生自我评价
2014/01/09 职场文书
幼儿园新学期寄语
2014/01/18 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
工会换届选举方案
2014/05/21 职场文书
护林防火标语
2014/06/27 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
初二数学教学反思
2016/02/17 职场文书
导游词之神仙居景区
2019/11/15 职场文书