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

   这篇文章主要介绍了Python的Django框架中TEMPLATES项的设置教程,主要针对Django1.8后的新特性,需要的朋友可以参考下

  TEMPLATES

  Django 1.8的新特性

  一个列表,包含所有在Django中使用的模板引擎的设置。列表中的每一项都是一个字典,包含某个引擎的选项。

  以下是一个简单的设定,告诉Django模板引擎从已安装的应用程序(installed applications)的templates子目录中读取模板:

  ?

1
2
3
4
5
6

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'APP_DIRS': True,
},
]

  以下选项对所有引擎(backends)都可用。

  BACKEND

  默认:无定义

  使用的模板引擎。内建的模板引擎有:

  ?

1
2

'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

  默认:

  ?

1
2
3
4
5
6
7

("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

  默认:

  ?

1
2

('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。

时间: 2024-12-11 19:40:35

Python的Django框架中TEMPLATES项的设置教程的相关文章

Python的Django框架中的templates设置

  这篇文章主要介绍了Python的Django框架中的TEMPLATES设置,主要讲述了Django1.8版本后的一些新特性,需要的朋友可以参考下 TEMPLATES Django 1.8的新特性 一个列表,包含所有在Django中使用的模板引擎的设置.列表中的每一项都是一个字典,包含某个引擎的选项. 以下是一个简单的设定,告诉Django模板引擎从已安装的应用程序(installed applications)的templates子目录中读取模板: ? 1 2 3 4 5 6 TEMPLAT

Python的Django框架中settings文件的部署建议

这篇文章主要介绍了Python的Django框架中settings文件的部署建议,包括对local_settings的弊病的一些简单分析,需要的朋友可以参考下 django在一个项目的目录结构划分方面缺乏必要的规范,因此不同人的项目组织形式也千奇百怪,而且也很难说谁的做法就比较好.我根据自己的项目组织习惯,发布了一个项目dj-scaffold. 前些天在reddit上为我的项目dj-scaffold打了个"广告"(见:http://redd.it/kw5d4).不想评价甚糟,甚至差点被

在Python的Django框架中simple-todo工具的简单使用

  这篇文章主要介绍了在Python的Django框架中simple-todo工具的简单使用,该工具基于原web.py中的开源项目,需要的朋友可以参考下 缘起 simple-todo最早是web.py一个中文教程的例子.后来Uliweb的作者limodou 认为这个教程很不错,于是有了Uliweb版的simple-todo.接着又有了Bottle版和Flask版.这俨然成了一个FrameworksShow项目.既然是FrameworksShow, 那Django的总不应当缺了吧. simple-

Python的Flask框架中web表单的教程

  下面为你介绍了Python的Flask框架中web表单的教程,表单是学习各个web框架中的基础知识,需要的朋友可以参考下 概要 在前面章节我们为主页定义了一个简单的模板,部分尚未实现的模块如用户或帖子等使用模拟的对象作为临时占位. 本章我们将看到如何利用web表单填补这些空白. web表单是web应用中最基本的构建要素,我们将通过表单来实现用户发帖和应用登录功能. 完成本章内容你需要基于前面章节完成的微博应用代码,请确认这些代码已安装并能正常运行. 配置 Flask-WTF是WTForms项

如何在Python的Flask框架中使用模版的入门教程

  如何在Python的Flask框架中使用模版的入门教程?          概述 如果你已经阅读过上一个章节,那么你应该已经完成了充分的准备工作并且创建了一个很简单的具有如下文件结构的Web应用: microblog |-flask文件夹 |-<一些虚拟环境的文件> |-app文件夹 | |-static文件夹 | |-templates文件夹 | |-__init__.py文件 | |-views.py文件 |-tmp文件夹 |-run.py文件 以上给你介绍了在Python的Flask

Python的Flask框架中实现分页功能的教程

  这篇文章主要介绍了Python的Flask框架中实现分页功能的教程,文中的示例基于一个博客来实现,需要的朋友可以参考下 Blog Posts的提交 让我们从简单的开始.首页上必须有一张用户提交新的post的表单. 首先我们定义一个单域表单对象(fileapp/forms.py): ? 1 2 class PostForm(Form): post = TextField('post', validators = [Required()]) 下面,我们把这个表单添加到template中(file

Python的Bottle框架中获取制定cookie的教程

  Python的Bottle框架中获取制定cookie的教程         这篇文章主要介绍了Python的Bottle框架中获取制定cookie的教程,主要是针对别的路径而不是当前页面的cookie,需要的朋友可以参考下 这两天为用bottle+mongodb写的一个项目加上登录功能,无奈怎么都获取不到保存的cookie,文档给出让我们这样操作cookie的代码片段: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 @route('/login') def lo

全面剖析Python的Django框架中的项目部署技巧第1/2页_python

项目开始时是一个关键时刻,选择会对项目产生长期的影响.有很多关于如何开始使用Django框架的教程,但很少讨论如何专业地使用Django,或如何使用行业公认的最佳做法来确保你的项目规模的持续增长.事前的筹划让你(和所有同事的生活)在走向将来时更容易. 文章结束时,你将有     一个全功能的Django 1.6项目     源代码受控的所有资源(使用Git或Mercurial)     自动回归和单元测试(使用unittest库)     一个独立于特定环境的安装项目(使用virtualenv)

在Python的Django框架中实现Hacker News的一些功能_python

逐步指示 这是提供给更喜欢阅读的人的视频文本版本.我们将创建一个类似黑客新闻 或Reddit的社交新闻网站.它将被称为"钢铁传闻",作为一个分享关于"钢铁侠"的有趣传闻和对其进行投票的地方. 屏幕录像第一部分的概述:     目标     虚拟环境- 从零开始!     模型管理 - 梦想的工作 #78     基本的模板     通用视图 - 新闻列表视图和 新闻细节视图     分页-免费!! 设置虚拟环境     我们将用virtualenv 和 virtua