Django模板层:模板查找路径,模板查找顺序,DTL模板语法(简单介绍)

转载于网络:

一、Django模板层 Templates

在这里插入图片描述
在这里插入图片描述

二、一个小栗子

在这里插入图片描述
问题:这里直接把模板写在views里,如果模板内容很多,就容易混乱。
改进:把模板独立出来,把视图逻辑和模板分离,在需要模板的时候,视图再加载对应的模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里我们打印一下,看看BASE_DIR是什么内容:

可见,BASE_DIR = Path(__file__).resolve().parent.parent是获取当前工程文件所在的文件路径,然后再通过TEMPLATES = [{'DIRS': [BASE_DIR / 'templates'],……}],拼接为C:\Users\520\djangoProject\templates完整的路径。当加载template的时候,默认到这个目录下查找模板文件。

在这里插入图片描述

三、模板查找路径、模板查找顺序

在这里插入图片描述

模板查找路径:
工程目录 settings.py
TEMPLATES = [{'DIRS': [BASE_DIR / 'templates'],'APP_DIRS': True,……}]
一、BASE_DIR = Path(__file__).resolve().parent.parent
print(BASE_DIR) #输出C:\Users\520\djangoProject
二、INSTALLED_APPS = ['django.contrib.admin',……'mysite.apps.MysiteConfig']
可见,BASE_DIR = Path(file).resolve().parent.parent`是获取当前工程文件所在的文件路径,然后再通过TEMPLATES = [{‘DIRS’: [BASE_DIR / ‘templates’],……}],拼接为C:\Users\520\djangoProject\templates完整的路径。'APP_DIRS’是当前工程下的所有app应用。

模板查找顺序:
第一步,在工程templates文件下查找模板文件
第二步,如果第一步没有找到,则到该app应用下的templates文件下查找同名模板文件
第三步,如果第二步没有找到,则到工程其它app应用下的templates文件下查找同名模板文件

四、模板语法

Django 定义了一个标准的API,DTL用于加载和渲染模板。加载包括为给定的标识符找到模板并对其进行预处理,通常是将其编译成内存中的表示形式。渲染是指将上下文数据插入模板,并返回结果字符串。
在这里插入图片描述
在这里插入图片描述

 

posted @ 2022-05-24 14:45  星辰大海日夜兼程  阅读(167)  评论(0编辑  收藏  举报