Django之templates模板
模板的使用
1.如何使用模板
- 在manage.py的同级文件夹中创建templates
- 在setting.py的文件中把第58行
'DIRS': [ ],
改成'DIRS': [os.path.join(BASE_DIR,'templates')],
知识点:
os.path.join(BASE_DIR,'templates')
拼接两个字符串
BASE_DIR
找到项目根目录127.0.0.1:8000/myadmin/templates
2.如何在视图函数中调用模板
‘’’
在views文件夹中创建视图函数UserViews.py和GoodViews.py
1.引入render
from django.shortcuts import render
2.加载模板
return render(request,'myadmin/user/index.html')
request 必须带,'myadmin/user/index.html':html
是页面的路径
- 在manage.py同级的文件夹下创建名为templates的文件夹
- 在templates文件夹中创建文件夹myadmin
- 把模板中的index.html复制到myadmin文件夹中,重命名为base
- 在myadmin文件夹中创建user文件夹和good文件夹
- 在user和good文件夹中创建子模板index.html
3.如何配置static公共文件夹的路径
- 在templates同级文件夹下创建一个名为static的文件夹
- 在setting.py的最后加上
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static')
]
- 在static中创建一个名为myadmin的文件夹
- 把模板中的assets文件夹复制到myadmin文件夹中
- 把base中的assets替换为/static/myadmin/assets
4.路由的反向解析
- 在myadmin中的urls给路由起一个名字
from .views import IndexViews,UserViews,GoodViews
# 用户管理
path('user/list',UserViews.index,name="myadmin/user/index"),
# 商品管理
path('good/list',GoodViews.index,name="myadmin/good/index"),
- 在base.html里把跳转地址改成{% url ‘路由的名字’ %}
5.模板继承
1.在子模板(user中的index.html)中把父模板(myadmin中的base.html)全部继承
{% extends 'myadmin/base.html' %}
2.在父模板把可以替换的部分包含起来
{% block 'content' %} (注意:content只是名字,可以自定义)
可以在子模板替换的区域内容
{% endblock %}
3.在子模板中直接找到替换的部分进行替换
{% block 'content' %}
需要替换成的内容
{% endblock %}
注意:父模板和子模板继承的名字一定要一样