美文网首页Python开发
如何使用Django的模板引擎 及 加载第三方模板引擎

如何使用Django的模板引擎 及 加载第三方模板引擎

作者: 贾龙飞 | 来源:发表于2017-07-04 15:31 被阅读0次

什么是Templates(模板引擎)

简单来说,Django的模板引擎就是HTML文件,只是包含使用了一种特殊的模板语言(Django模板语言 Django Template Language),简称DTL。

如何加载第三方模板引擎

优秀的模板引擎远远不止这么一个,所以Django是支持开发者对其进行扩展/修改的,我们完全可以通过在settings.py配置文件中,修改TEMPLATES中的BACKEND选项,将模板引擎换成其他任何我们希望要用的。

修改使用指定的模板引擎

如何使用Django自带的模板引擎

1.在我们的应用目录下创建一个Templates的目录。(留意,是应用目录,不是项目目录,这里我们创建的应用目录是blog目录),然后在Templates目录中创建我们的模板文件。(HTML文件)

1.创建模板文件

2.在views.py中使用render()函数返回直接返回指定模板

2.指定要返回的模板文件

3.向模板发送数据,render()函数常用参数有三个,第一个参数是request,第二个参数是你需要指定的模板文件,第三个参数是可选参数,是用来传递数据到模板文件中的,系统支持的是dict类型的数据,这里key为参数名,value为数据的值,在模板中可以直接使用{{ 参数名 }}获取到传递过来的值。

3-1.传递数据 3-2.模板接收数据

刷新页面,我们就可以看到这些变化啦。

参数传递 接收成功

到这里,我们的第一个Templates算是创建完成了,最后我们再提一下使用模板引擎需要注意的事项。

当我们的项目渐渐变大,应用的个数也会随之增加,那么不同应用的模板中,如果出现命名冲突 (同名) 的模板文件,系统就懵逼了,因为它分不清楚我们render()中指定的模板文件到底是哪一个。

那么这个问题怎么解决呢,你可以修改文件名解决,但这绝对不是最好的办法,系统推荐给我们的方案是,在每个应用下的模板目录(Templates)下,再创建一个与当前应用同名的文件夹,将当前应用的所有模板都放在这个新的文件夹中,然后在指定模板文件的时候加上这层目录名即可,如下图:

解决模板文件的命名冲突

到这里,我们的第一个Templates就算是完成啦!

相关文章

  • Python学习打call第五十八天:Django 模板引擎以及

    在Django框架中,可以使用两种模板引擎,一种是默认的Django模板引擎,还有一种是Jinja2模板引擎; 1...

  • Laravel-Blade模板引擎

    Blade模板引擎 Blade模板引擎简介及模板继承的使用 基础语法及include的使用 流程控制 模板中的UR...

  • 如何使用Django的模板引擎 及 加载第三方模板引擎

    什么是Templates(模板引擎) 简单来说,Django的模板引擎就是HTML文件,只是包含使用了一种特殊的模...

  • koa2使用模板引擎

    这篇教大家如何使用模板引擎 这里我们使用ejs模板引擎做 个例子,你们自己选择自己熟练的模板引擎 使用的版本: 文...

  • Lua admin后台开发 (6) 模板引擎的使用

    上一章节我们初步了解了如何使用模板引擎, 现在我们深入了解模板引擎. 什么是模板引擎 "模板引擎(这里指Web开发...

  • templates(模板)

    jinja2 Flask中使用jinja2模板引擎jinja2是由Flask作者开发,模仿Django的模板引擎 ...

  • 《PHP Learning》模板引擎

    《PHP Learning》模板引擎 模板处理使用正则处理模板替换规则保存模板编译结果 模板使用 自定义模板引擎 ...

  • 模板系统

    模板 Django项目可以配置一个或多个模板引擎(或者如果不使用模板,甚至为零)。Django后端内置一个自己的模...

  • art-template模板引擎

    模板引擎 什么是模板引擎: 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产...

  • node_模板引擎

    模板引擎 模板引擎的使用和集成,也就是视图。 什么是模板引擎模板引擎是一个页面模板根据一定得规则生成的html工具...

网友评论

    本文标题:如何使用Django的模板引擎 及 加载第三方模板引擎

    本文链接:https://www.haomeiwen.com/subject/mlbthxtx.html