模板续

静态文件引入的三种方式:

一:
	<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的页面
posted @ 2018-09-09 09:15  luck_L  阅读(150)  评论(0编辑  收藏  举报