静态文件引入的三种方式:
一:
<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的页面