zoukankan      html  css  js  c++  java
  • 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 %}
    

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

  • 相关阅读:
    I Hate It
    满减优惠[Offer收割]编程练习赛4
    积水的城市 hiho[Offer收割]编程练习赛4
    Subsequence 尺取法
    526. 优美的排列
    401. 二进制手表
    306. 累加数
    216. 组合总和 III
    131. 分割回文串
    ubuntu deepin-软件 分辨率的问题
  • 原文地址:https://www.cnblogs.com/victorfengming/p/11930961.html
Copyright © 2011-2022 走看看