zoukankan      html  css  js  c++  java
  • 了解DJango模板系统

    作为一个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_dirsTrueFalse,告诉引擎在已经安装app目录下进行查找,每个模板后端定义了app_dirname属性,该值(默认为templates)作为子目录来,模板引擎在这个子目录下进行搜索。

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

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

    DjangoTemplates接收以下的OPTIONS选项:

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

    context_processors:上下文处理器。

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

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

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

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

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

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

     

     

  • 相关阅读:
    SQL SERVER 实现多个数据库之间表的联系,利用临时表枚举表中行数据
    [CCF CSP]201909-2 小明种苹果(续)
    Anaconda 安装 Python 库(MySQLdb)
    [CCF CSP]201903-4 消息传递接口
    [CCF CSP]201609-4 交通规划
    2019年12月CSP考试第三题化学方程式解法
    Leetcode.94.二叉树的中序遍历
    GENIA命名实体数据集解析代码
    git添加新用户
    C#语言 十大经典排序算法动画与解析!(动态演示+代码)(java改写成C# )
  • 原文地址:https://www.cnblogs.com/baishoujing/p/7218435.html
Copyright © 2011-2022 走看看