详解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 相关文章推荐
django+echart绘制曲线图的方法示例
Nov 26 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
Jan 29 Python
Python实现的爬取百度贴吧图片功能完整示例
May 10 Python
Python格式化字符串f-string概览(小结)
Jun 18 Python
Django model 中设置联合约束和联合索引的方法
Aug 06 Python
Python matplotlib生成图片背景透明的示例代码
Aug 30 Python
Python使用Turtle库绘制一棵西兰花
Nov 23 Python
opencv python如何实现图像二值化
Feb 03 Python
Python + selenium + crontab实现每日定时自动打卡功能
Mar 31 Python
解决python 虚拟环境删除包无法加载的问题
Jul 13 Python
python-图片流传输的思路及示例(url转换二维码)
Dec 21 Python
Python爬虫框架之Scrapy中Spider的用法
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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
PHP Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
jquery中获得$.ajax()事件返回的值并添加事件的方法
2010/04/15 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
谈谈JavaScript自定义回调函数
2015/10/18 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
[54:45]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 Optic vs OG
2018/04/02 DOTA
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
python画双y轴图像的示例代码
2019/07/07 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
Django 框架模型操作入门教程
2019/11/05 Python
利用Python脚本实现自动刷网课
2020/02/03 Python
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
写给妈妈的道歉信
2014/01/11 职场文书
作文评语集锦大全
2014/04/23 职场文书
经营理念口号
2014/06/21 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
岗位聘任报告
2015/03/02 职场文书
车间班组长竞聘书
2015/09/15 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python