1. 程式人生 > >python學習第七十三天:模板續

python學習第七十三天:模板續

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學習第七十三天:模板續