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 命令行也可以自动补全
Nov 30 Python
python通过ssh-powershell监控windows的方法
Jun 02 Python
python结合API实现即时天气信息
Jan 19 Python
python中的二维列表实例详解
Jun 19 Python
NLTK 3.2.4 环境搭建教程
Sep 19 Python
对python dataframe逻辑取值的方法详解
Jan 30 Python
详解Python连接MySQL数据库的多种方式
Apr 16 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
Jun 03 Python
PyCharm安装Markdown插件的两种方法
Jun 24 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
PyTorch实现AlexNet示例
Jan 14 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
多重?l件?合查?(二)
2006/10/09 PHP
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
2015/04/17 PHP
Symfony2实现在doctrine中内置数据的方法
2016/02/05 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
PHP7.3.10编译安装教程
2019/10/08 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
JS 中document.URL 和 windows.location.href 的区别
2009/11/11 Javascript
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
jQuery树形下拉菜单特效代码分享
2015/08/15 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
使用elementUI实现将图片上传到本地的示例
2018/09/04 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
vue中实现点击变成全屏的多种方法
2020/09/27 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
[48:41]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
浅析HTML5 Landmark
2020/09/11 HTML / CSS
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
勾股定理课后反思
2014/04/26 职场文书
家具公司总经理岗位职责
2014/07/08 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
十二生肖观后感
2015/06/12 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers
Redis Lua脚本实现ip限流示例
2022/07/15 Redis