python学习第七十三天:模板续

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

一:
	<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的页面

猜你喜欢

转载自www.cnblogs.com/luck-L/p/9612560.html