Django ----- 模板2
tags
for
<ul>
{% for user in user_list %}
<li>{{ user.name }}</li>
{% endfor %} #结束
</ul>
for...empty
<ul>
{% for user in user_list %}
<li>{{ user.name }}</li>
{% empty %}
<li>空空如也</li>
{% endfor %}
</ul>
if,elif 和else
{% if user_list %}
用户人数:{{ user_list|length }}
{% elif black_list %}
黑名单数:{{ black_list|length }}
{% else %}
没有用户
{% endif %}
也可以有if 和 else
{% if user_list|length > %}
七座豪华SUV
{% else %}
黄包车
{% endif %}
if语句支持 and、or、 ==、>、<、!=、<=、>=、in、not in、is、is not判断.
母版和继承
1.母版
就是一个普通的HTML文件,提取多个页面的公共部分减少代码量 修改十分方便
[注:除了公共部分,母版对应子页面需要更改的地方用{% block page-main%}内容{%endvlock}
]
2.继承(使用)
在子页面中
{% entends "base.html"%}
{% block page-mian%}
修改内容
{%endblock%}
注意:还会有个小问题,
就是边侧那里, 按钮是死的,这就需要,在html 按钮输入那里, class = {% block pub_active%}active{%endblock%}
子页面也需要加上
3.注意事项:
1.把{% extends 'base.html'%}
2.修改的内容写在block中,写在外面不显示
3.{% extends name%} name应该是变量或者是字符串 继承母版的名字
4.母版中定义多个block块, 一般还有 js 块和css块
4.组件
1.就是一小段HTML代码 多个页面都用到的内容 nav.html
2.在任意的模版中使用
{% include "nav.html" %}
5.静态文件相关
1.{% load staticfiles %}
2.{% static 'css文件路径' %}
还有第二种方法: {%get_static_prefix%}~~~文件路径
6. 静态文件相关
{% load static %}
{% static 'css/pub.css' %} —— 》 去settings拿STATIC_URL,和css/pub.css拼接
—— 》 /static/css/pub.css
{% get_static_prefix %} —— 》 去settings拿STATIC_URL
{% load static %}
<img src="{% get_static_prefix %}images/hi.jpg" alt="Hi!" />
或者
{% load static %}
{% get_static_prefix as STATIC_PREFIX %} <img src="{{ STATIC_PREFIX }}images/hi.jpg" alt="Hi!" />
<img src="{{ STATIC_PREFIX }}images/hi2.jpg" alt="Hello!" />
{% get_static_prefix %}css/pub.css
7. 自定义simple_tag和inclusion_tag
1. 在app下创建templatetags的python包
2. 在templatetags创建py文件 ——》 mytags.py
3. 在mytags写代码
from django import template
register = template.Library()
@register.filter(name='dsb')
def add_sb(value,arg):
return ....
@register.simple_tag
def add_sb(arg1,arg2,*args,**kwargs):
return ....
@register.inclusion_tag('show_li.html')
def show_li(n):
return {'num': range(1, n + 1)}
8. 在模板中使用
{% load mytags %}
{{ 变量|dsb:'canshu' }}
{% add_sb '' '' %}
{% show_li 5 %}
最新文章
- codeforces 557B. Pasha and Tea 解题报告
- Python namedtuple
- Windows 下字节转换
- Android快捷键
- hdu 1754 I Hate It (splay tree伸展树)
- Java基础知识强化之集合框架笔记12:Collection集合存储字符串并遍历
- Android App开发常用专题开源代码
- Guava API
- PullToRefreshListView上拉加载、下拉刷新
- 优化C/C++代码的小技巧(转)
- 持续集成:TestNG组织如何测试用例 1
- app界面设计字体规范
- DotNetCore跨平台~发布脚本PowerShell的设计
- vuex 基本用法、兄弟组件通信,参数传递
- c# 文件笔记
- 【百度】大型网站的HTTPS实践(一)——HTTPS协议和原理
- 第一次ActiveX Fuzzing测试
- Python中的break和continue的使用方法
- JAVA基础学习之路(十一)引用传递
- jQuery图片垂直滚动焦点图