作为一个Web框架,Django需要一个便利的方式来动态地生成HTML,最常见的方式是依赖模板,模板中既包含了所希望HTML输出的静态部分,又有一些语法用来描述如何动态插入这些上下文内容。

Django可以配置一个或者多个模板引擎,如果不是使用模板可以是零。django把自己内建的后端当做自己的模板系统,称作为DTL,即Django模板语言。Jinpa2也是一个不错的选择,其模板语言来自第三方。

Django定义了标准的API来载入和渲染模板,与具体后端无关。载入包括根据指定的标识符来查找模板并进行处理,通常会将其编译到内存中进行表示。渲染意味着将上下文数据插入到模板中并返回到结果字符串。

由于历史的原因,模板引擎的支持与模板语言的实现都存在于django.template命名空间下。

模板引擎的配置:

TEMPLATES=[

            {

                        ‘BACKEND’:’django.template.backends.django.DjangoTemplates’,

                        ‘DIR’:[],

                        ‘APP_DIRS’:True,

                        ‘OPTIONS’:{

                        },

            }

]

dirs:这一个目录列表,来告诉引擎来从哪里寻找模板源文件,按顺序进行搜索。

app_dirs:True或False,告诉引擎在已经安装app目录下进行查找,每个模板后端定义了app_dirname属性,该值(默认为templates)作为子目录来,模板引擎在这个子目录下进行搜索。

options:是针对后端进行制定的配置。

还有一种不常见的情况,可能会配置同一后端的多个实例来传入不同的参数,你需要定义为此定义一个name。

DjangoTemplates接收以下的OPTIONS选项:

autoescape:布尔值,默认为True,来控制HTML是否自动转义。

context_processors:上下文处理器。

debug:布尔值,是否开发debug模式,若为True,当在模板渲染过程中任何异常将会在错误页面显示详细的报告。

string_if_valid:输出为一个字符串,该模板系统应该使用 invalid(例如拼错)变量。

loaders:模板加载器,每个模板加载器知道如何从特定的源来导入模板,默认依赖DIRS和APP_DIRS的值。

file_charset:读取磁盘模板文件使用的字符集,默认为FILE_CHARSET。

libraries:这是一个字典,这个被用于添加新的库,提供备选标签,标签库可以在{% load %}标记中传入相应的字典键值进行载入。

builtins:将模板标签库加入内建库中,无需调用{% load %}就可使用。

 

 

转载于:https://www.cnblogs.com/baishoujing/p/7218435.html

了解DJango模板系统相关推荐

  1. Django模板系统(非常详细)

    翻译www.djangobook.com之第四章:Django模板系统 The Django Book:第4章 Django模板系统 revised by xin_wang 前面的章节我们看到如何在视 ...

  2. Django 模板系统

    Django模板系统 常用语法 {{}} 变量相关 {%%} 逻辑相关 变量 格式 {{ 变量名 }} 命名规则 包括任何字母数字以及下划线 ("_")的组合 变量名称中不能有空格 ...

  3. 翻译www.djangobook.com之第四章:Django模板系统

    [color=red][b]The Django Book:第4章 Django模板系统[/b][/color] revised by [url=http://xin-wang.iteye.com/] ...

  4. Django模板系统(十分 非常详细)

    转载:http://www.czug.org/python/django/04.html 翻译www.djangobook.com之第四章:Django模板系统 The Django Book:第4章 ...

  5. python 静态网站生成_使用Django模板系统或静态站点生成器生成HTML文件?

    我正在尝试为一个个人网站建立一个适当的工作流程.在 我使用的是仙人掌静态网站生成器,它利用了Django模板系统.在 我知道我想做什么,但我不知道怎么做,因为仙人掌的教程是有限的.在 我的目录结构如下 ...

  6. django html5模板,Django模板系统(非常详细)

    The Django Book:第4章 Django模板系统 revised by xin_wang 前面的章节我们看到如何在视图中返回HTML,但是HTML是硬编码在Python代码中的 这会导致几 ...

  7. django模板系统Template

    为了方便理解先了解一下python的字符串格式化. 我们还可以进行映射传参 string=''' hello world I am%(name)s',I' m %(age)s years old'' ...

  8. django模板系统(上)

    filters 过滤 default 替代作用 filesizeformat 格式化为人类可读 add 给变量加参数 lower 小写 upper 大写 title 标题 ljust 左对齐 rjus ...

  9. python dashboard django_python终极篇 ---django 模板系统

    模板系统 1. MVC和MTV框架1. MVC M: model 模型 对数据库进行操作 V:view 视图 给用户提供页面 C:controller 控制器 负责调度 传递指令2. MTV: M: ...

最新文章

  1. system generator学习笔记【02】
  2. 北大计算机学院 教授 湖南人,北大湘籍教授邹恒甫简历
  3. 机器学习(5.sklearn归一化以及标准化)
  4. 英特尔第十代处理器为什么不支持win7_5GHz动力澎湃 高主频多核处理器成就巅峰玩家...
  5. SQLlite 分页
  6. python捷联惯导的姿态解算_自动驾驶中高精地图的大规模生产:视觉惯导技术在高德的应用...
  7. 悟透delphi 第十章 操作界面与操作逻辑
  8. QObject::startTimer: Timers cannot be started from another thread [使用自定义信号与曹函数来解决在子线程中不能调用QTimer定时器]
  9. FileOpen 及相关文件读写
  10. windows 服务器cpu使占用高的原因分析与解决办法
  11. 【国企招聘合集」 运维/java/架构师/前端
  12. FairyGUI个人使用手册 只有重点(1)
  13. vue 项目中页面打印实现(去除页眉页脚)
  14. 怎么把html换成gif,怎么将mp4转换成gif 把mp4转换成高清gif的方法
  15. 高群耀:移动电影院2.0四大功能实现了用户“观影社交化”
  16. 工序质量评价及改进(转载)
  17. Django 操作MySQL数据库
  18. CryEngine3中的AI组件对象
  19. 还是关于前端性能优化,真的是的从细节开始
  20. 三菱FX3U和5U气缸控制讲解

热门文章

  1. 【NOIp2002】矩形覆盖
  2. CSS-Position
  3. 关于angularjs指令
  4. C++生成简单WAV文件(一)
  5. 近期会将视频在线课堂移植ios,欢迎大家关注
  6. fafu oj 1266 数数
  7. 蔡琴之《祈祷》纪念今日沪指逆境大涨
  8. python利用win32com实现doc文档转为pdf文档的功能
  9. oracle数据库初始化参数分类,oracle初始化参数设置
  10. java hung_java – Hung JVM消耗100%的CPU