陆续更新中:
Django基础(1): 目录文件简介
Django基础(2): 创建应用
Django基础(3): 配置url
Django基础(4): 建立Templates
Template简介
Django中的templates实际上是一个个的HTML文件,但它与传统的HTML语言有一些区别,Templates使用了Django模板语言(Django Template Language, 简称DTL),同时,它允许使用第三方模板,比如jinja2。如果要修改模板语言,需要再根settings.py中找到Templates图1
修改第一行‘BACKEND’后面的代码就可以了
开发第一个Template
创建Template有以下几步:
- 在APP的根目录下创建名叫Templates的目录
- 在该目录下创建HTML文件
3.在views.py中返回render
render中有几个参数,第1个是request,即请求本身,第2个是templates中创建的HTML(这里假设html名为index), 第3个参数是后台传递到前端的数据,第3个参数现在先不设置,留到下面说DTL(Django模板语言)时再设置
代码展示为
def index(request):
return render(request, 'index.html')
DTL(Django模板语言)的初步使用
前面提到的views.py中的render()函数中的第3个参数,支持一个dict类型的参数。该dict是后台传递到template的参数,键为参数名,我们在template中使用{{参数名}}来直接使用。
举例来说,我们在views.py中把render写成如下:
def index(request):
return render(request, 'index.html', {'hello': 'Hello, World'})
对应的template中的index.html写成如下:
<h1>{{ hello }}</h1>
那么就可以把‘Hello, World’打印到屏幕上了
注意事项
Django查找Template的时候,是按照INSTALLED_APPS中添加顺序查找Templates,所以在不同的应用下,如果Templates的名字相同,不同应用下的templates会发生冲突,顺序在前面的Template会覆盖掉顺序在后的应用的Template
解决Templates冲突的方法
- 在APP的Templates目录下创建以APP名为名称的目录
- 将html文件存放到该文件夹下