Django基础第八天-模版层


静态文件引入的三种方式:
    一:
        <link rel="stylesheet" href="/static/dd/ss/mycss.css">
    二:
        {% load static %}
        <link rel="stylesheet" href="{% static 'dd/ss/mycss.css' %}">
        {#    返回值:/static/dd/ss/mycss.css#}
    三:
        <link rel="stylesheet" href="{% get_static_prefix %}dd/ss/mycss.css">

模板导入和继承
    模板导入:
     1 把公共部分,放到html里,比如叫 left.html
     2 想在哪里用 {% include 'left.html' %}
    母版继承:
        1  写一个母版 base.html
        2 要更改的地方(    )
        {% block base %}
            母版的盒子里也可以写东西
        {% endblock %}
        3 调用:
            3.1 写在第一行 {%extends 'base.html' %}
            3.2         {% block base %}
            
                        自己的东西
                        
                        {% endblock my_head%}
            3.3 还想用母版里的内容({{block.super}} 放在那,原来母版里的东西,就会渲染在哪)
                    {% block base %}
                        {{block.super}}
                        自己的东西                        
                    {% endblock my_head%}
            3.4 如过不继承盒子,它会用原来的内容,如果继承了,没写自己的东西,它会空白
            3.5 盒子再继承时,跟顺序无关


自定义 inclusion_tag
    1 先去setting里面把app名字配置上
    2 再app目录下创建一个templatetags模块
    3 写py文件(my_test.py)
    4 from django import template
    5 register=template.Library()
    6 @register.inclusion_tag('test.html')
        def my_inclusion(n):
            data=[]
            for i in range(n):
                data.append('第%s行'%i)
            return {'data':data}
    7 写test.html页面
                <ul>
                  {% for choice in data %}
                    <li>{{ choice }}</li>
                  {% endfor %}

                </ul>
    8 {% load my_test %}
    9 {% my_inclusion 10 %}   它会返回html的页面

猜你喜欢

转载自blog.csdn.net/qq_17513503/article/details/82533041