Django基础(4): 建立Templates

陆续更新中:
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
Django基础(4): 建立Templates_第1张图片
图1

修改第一行‘BACKEND’后面的代码就可以了

开发第一个Template

创建Template有以下几步:

  1. 在APP的根目录下创建名叫Templates的目录
  2. 在该目录下创建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写成如下:

{{ hello }}

那么就可以把‘Hello, World’打印到屏幕上了

注意事项

Django查找Template的时候,是按照INSTALLED_APPS中添加顺序查找Templates,所以在不同的应用下,如果Templates的名字相同,不同应用下的templates会发生冲突,顺序在前面的Template会覆盖掉顺序在后的应用的Template
解决Templates冲突的方法

  1. 在APP的Templates目录下创建以APP名为名称的目录
  2. 将html文件存放到该文件夹下

你可能感兴趣的:(Django基础(4): 建立Templates)