python學習第七十三天:模板續
阿新 • • 發佈:2018-09-09
css 就會 ans .html 在哪裏 ext test .lib link
靜態文件引入的三種方式:
一:
<link rel="stylesheet" href="/static/dd/ssmycss.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的頁面
python學習第七十三天:模板續