官网模板文档

https://docs.djangoproject.com/zh-hans/2.2/ref/templates/language/

模板查找路径配置

在项目的settings.py文件中。有一个TEMPLATES配置,这个配置包含了模板引擎的配置,模板查找路径的配置,模板上下文的配置等。模板路径可以在两个地方配置。

1.DIRS:这是一个列表,在这个列表中可以存放所有的模板路径,以后在视图中使用render或者render_to_string渲染模板的时候,会在这个列表的路径中查找模板。

2.APP_DIRS:默认为True,这个设置为True后,会在INSTALLED_APPS的安装了的APP下的templates文件加中查找模板。settings.py中INSTALLED_APPS数组中添加你的app名字。

3.查找顺序:比如代码render(‘list.html’)。先会在DIRS这个列表中依次查找路径下有没有这个模板,如果有,就返回。如果DIRS列表中所有的路径都没有找到,那么会先检查当前这个视图所处的app是否已经安装,如果已经安装了,那么就先在当前这个app下的templates文件夹中查找模板,如果没有找到,那么会在其他已经安装了的app中查找。如果所有路径下都没有找到,那么会抛出一个TemplateDoesNotExist的异常。

模板语法

Django框架中内置了DjangoTemplate模板引擎(DTL)。DTL官方文档
模板引擎原理简单,就是字符串替换。
image.png
要在django框架中使用模板引擎把视图中的数据更好的展示给客户端,需要完成3个步骤:

  1. 配置文件中指定模板目录
  2. 在视图中返回模板文件和变量
  3. 修改模板文件。

数据处理尽量在python就处理好,传给模板文件就可以简单操作下就行了。
DTL模板语法掌握简单的就好,变量、过滤器、if、for 、嵌套、继承这些基本够用了,不够用再去看语法,这块语法很简单,看看就懂了。