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 %}

注意:父模板和子模板继承的名字一定要一样

原文地址:https://www.cnblogs.com/victorfengming/p/11930961.html