Python的Django框架中TEMPLATES项的设置教程


Posted in Python onMay 29, 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 ElementTree 基本读操作示例
Apr 09 Python
flask中主动抛出异常及统一异常处理代码示例
Jan 18 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
pymongo中group by的操作方法教程
Mar 22 Python
python opencv如何实现图片绘制
Jan 19 Python
python实现简单学生信息管理系统
Apr 09 Python
Python实现自动打开电脑应用的示例代码
Apr 17 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
May 13 Python
使用Python Tkinter实现剪刀石头布小游戏功能
Oct 23 Python
python生成可执行exe控制Microsip自动填写号码并拨打功能
Jun 21 Python
Python3.8官网文档之类的基础语法阅读
Sep 04 Python
python 离散点图画法的实现
Apr 01 Python
编写Python脚本把sqlAlchemy对象转换成dict的教程
May 29 #Python
Python fileinput模块使用实例
May 28 #Python
Python sys.argv用法实例
May 28 #Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 #Python
Python中的with...as用法介绍
May 28 #Python
python关键字and和or用法实例
May 28 #Python
Python yield 使用浅析
May 28 #Python
You might like
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
PHP写MySQL数据 实现代码
2009/06/15 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
js实现可旋转的立方体模型
2016/10/16 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
vue使用rem实现 移动端屏幕适配
2018/09/26 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
2019/05/15 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
js实现三角形粒子运动
2020/09/22 Javascript
Python标准库之循环器(itertools)介绍
2014/11/25 Python
高效使用Python字典的清单
2018/04/04 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
领导检查欢迎词
2014/01/14 职场文书
党员公开承诺事项
2014/03/25 职场文书
单位授权委托书范文
2014/08/02 职场文书
瘦西湖导游词
2015/02/03 职场文书
百家讲坛观后感
2015/06/12 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python