ad

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_2.7.1 Django Template Language 简介

网友投稿 129 2023-11-07

【摘要】 本书摘自《Python+3自动化软件发布系统》一书中第2章,第7节,由陈刚、王洪军编著。

2.7.1 Django Template Language 简介

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_2.7.1 Django Template Language 简介

在视图中使用Django 模板之前,先说明一下 DTL, 了解它的工作方式。若想在 Python 代码中使用Django 的模板系统,基本方式如下:先以字符串的形式提供原始 的模板代码,创建 Template 对象。然后在 Template 对象上调用 render() 方法,传入 一系列变量(上下文)。返回的是完全渲染模板后得到的字符串,模板中的变量和模 板标签已经根据上下文求出值了。

下面,进入D:\GIT\django_demo_project\ 目录,运行 python manage shell 命令 进入支持 Django 的 Shell。

进入此 Shell 后,运行如下示例,以便了解 DTL 的基本工作机制。

代码解释:

第1行:导入我们需要的 Template 和 Context 模块

第2行:定义一个 bbs 字典变量,在真正开发当中,上下文的变量是相当灵活的。

第3行:创建一个模板对象,使用{{}}来作变量占位 tag。

第4行:将上下文实例化为第2行定义的 bbs 变量。

第5行:在模板对象上调用render() 方法,传递 Context 实例。这是返回渲染后 的模板的方法,这样会替换模板变量为真实的值和执行块标签。

第6行:可以看到,模板对象中的占位标签,已被Context 中的真实变量替换。

相信经过上面逐行说明,读者已了解了 Django Template 的核心工作机制。接 下来,简要介绍一下 DTL 的几大知识点,留给读者以后备查。笔者一直认为,在学 习的过程中,系统地了解到一门学问涉及的所有知识版图范围是相当重要的,因为这 决定了一个人的视野。

当然,万法归一,一通万法。有人先学细节,最后再来作拼图;有人先大而化之地

系统学习,需要应用时再进入细节。万千法门,适合自己即最好。

有了以上语法,相信读者对于模板代码的阅读,就不存在任何障碍了。

本节讲的,只是如何在 Django Shell 中使用模板,那么如何在项目中正确使用模 板功能呢?请看下一小节。

.7.2 Django Template 加载配置及基本使用

平时我们开发项目时,都会将模板存为一个 HTML 文件,然后通过 Django Template 加载机制,将这些模板加载进内存,以备渲染。为了从文件系统中加载模 板,Django 提供了便利而强大的 API, 力求去掉模板加载调用和模板自身的冗余。 若想使用这个模板加载 API, 首先要告诉框架模板的存储位置。这个位置在 set- tings.py 文件中,找到 TEMPLATES 设置。它的值是一个列表,分别针对各个模板

引 擎 。

https://github.com/aguncn/django_demo_project/blob/master/django_demo_project/set-

tings.Py

BACKEND 的值是一个点分Python 路径,指向实现 Django 模板后端 API 的模 板引擎类。Django 默认实现的内置后端有 django.template.backends.django.

DjangoTemplates 和 django.template.backends.jinja2.Jinja2。

因为多数引擎从文件中加载模板,所以各个引擎的顶层配置包含三个通用的 设置:

① DIRS 定义一个目录列表,模板引擎按顺序在其中查找模板源文件。

② APP_DIRS 设定是否在安装的应用中查找模板。按约定,APPS_DIRS 设为 True 时,DjangoTemplates 会在 INSTALLED_APPS 中的各个应用里查找名为 templates 的子目录。这样,即使 DIRS 为空,模板引擎也能查找应用模板。

③ OPTIONS 是一些针对后端的设置。

下面就通过这种方式,来实现一个带模板功能的 Web 服务网页。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:达人之路·《高效办公应用宝典公式·函数与VBA》_6.3.1 MAX函数找出最大值
下一篇:跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_1.2.3 宏的录制
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×