详解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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
Python实现统计文本文件字数的方法
May 05 Python
Python和C/C++交互的几种方法总结
May 11 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
Python异常处理操作实例详解
May 10 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
将python安装信息加入注册表的示例
Nov 20 Python
解决Keras 中加入lambda层无法正常载入模型问题
Jun 16 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
Nov 17 Python
python生成word合同的实例方法
Jan 12 Python
Python基础之函数嵌套知识总结
May 23 Python
Python  lambda匿名函数和三元运算符
Apr 19 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
各种战术和打法的原创者
2020/03/04 星际争霸
Laravel框架分页实现方法分析
2018/06/12 PHP
jQuery插件开发全解析
2012/10/10 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
jquery实现控制表格行高亮实例
2013/06/05 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
python列表的增删改查实例代码
2018/01/30 Python
Python获取指定文件夹下的文件名的方法
2018/02/06 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
详解python读取image
2019/04/03 Python
纯CSS3打造动感漂亮时尚的扇形菜单
2014/03/18 HTML / CSS
诚信的演讲稿范文
2014/05/12 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
教师考核鉴定意见
2015/06/05 职场文书
靠谱的活动总结
2019/04/16 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
MySQL分库分表详情
2021/09/25 MySQL
js中Object.create实例用法详解
2021/10/05 Javascript