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实现字符串连接的三种方法及其效率、适用场景详解
Jan 13 Python
python 调用c语言函数的方法
Sep 29 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
python 图片去噪的方法示例
Jul 09 Python
Django REST framework 视图和路由详解
Jul 19 Python
selenium+PhantomJS爬取豆瓣读书
Aug 26 Python
使用Python的turtle模块画国旗
Sep 24 Python
Python搭建代理IP池实现获取IP的方法
Oct 27 Python
pytorch构建多模型实例
Jan 15 Python
Python用SSH连接到网络设备
Feb 18 Python
Python中Qslider控件实操详解
Feb 20 Python
Python如何让字典保持有序排列
Apr 29 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
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
laravel框架 api自定义全局异常处理方法
2019/10/11 PHP
jquery中插件实现自动添加用户的具体代码
2013/11/15 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
2015/12/13 Javascript
你所未知的3种Node.js代码优化方式
2016/02/25 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
ajax图片上传,图片异步上传,更新实例
2016/12/30 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
JS原生轮播图的简单实现(推荐)
2017/07/22 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
用Python实现换行符转换的脚本的教程
2015/04/16 Python
Python+django实现简单的文件上传
2016/08/17 Python
浅谈Python中的bs4基础
2018/10/21 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
python写入文件自动换行问题的方法
2019/07/05 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
python实现手势识别的示例(入门)
2020/04/15 Python
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
俄罗斯品牌服装在线商店:VIPAVENUE
2020/08/10 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
亿阳信通股份有限公司C#笔试题
2016/12/06 面试题
实习教师自我鉴定
2013/12/12 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
励志演讲稿800字
2014/08/21 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS