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 %}
Django ----- 模板2的更多相关文章
- Django模板与Vue.js冲突问题
参考: https://my.oschina.net/soarwilldo/blog/755984 方法1:修改vue.js的默认的绑定符号 Vue.config.delimiters = [&quo ...
- 在 Django 模板中遍历复杂数据结构的关键是句点字符
在 Django 模板中遍历复杂数据结构的关键是句点字符 ( . ). 实例二 mysit/templates/myhtml2.html修改如下 <!DOCTYPE html> <h ...
- python django 模板
1 用两个大括号括起来的文字{{person_name}} 称为变量 2 被 大括号和面分号包围的文件({% if ordered_warranty %})是模板标签 3 过滤器是用管道符(|) 和U ...
- django 模板中定义临时列表
<ul class="num_t clr"> {% for obj in ""|ljust:"10" %} <li> ...
- Django 模板中引用静态资源(js,css等)
Django 模板中免不了要用到一些js和CSS文件,查了很多网页,被弄得略晕乎,还是官网靠谱,给个链接大家可以自己看英文的. https://docs.djangoproject.com/en/1. ...
- Django模板-分离的模板
上一篇Django模板-在视图中使用模板最后的问题,我们需要把数据和展现分离开. 你可能首先考虑把模板保存在文件系统的某个位置并用 Python 内建的文件操作函数来读取文件内容. 假设文件保存在 E ...
- Django模板-在视图中使用模板
之前我们已经有了自己的视图mysite.views.py中,应该是这样子的 from django.http import HttpResponse import datetime def curre ...
- Django模板-模板标签
接着Django模板-基础知识继续写模板相关知识. if标签 {% if %} 标签接受 and , or 或者 not 关键字来对多个变量做判断 ,或者对变量取反( not ). 但是不允许在同一个 ...
- Django模板-基础知识
上一篇中带参数的URLconf虽然可以做到传参动态显示内容,但是最终现实的内容还是硬编码到Python代码中的 def hours_ahead(request,phours): try: phours ...
- 关于Django模板引擎的研究
原创博文,转载请注明出处. 以前曾遇到过错误Reverse for ‘*’ with arguments '()' and keyword arguments' not found.1其原因是没有给视 ...
随机推荐
- Tornado的异步非阻塞
阻塞和非阻塞Web框架 只有Tornado和Node.js是异步非阻塞的,其他所有的web框架都是阻塞式的. Tornado阻塞和非阻塞两种模式都支持. 阻塞式: 代表:Django.Flask.To ...
- Log4j 1.x JDBCAppender记录日志失效问题详解
官网:http://logging.apache.org/log4j/1.2/manual.html 事件:最近在项目中使用log4j 1.x JDBCAppender记录管理员操作日志到数据库,在测 ...
- system.net.webexception远程服务器返回了错误: NotFound。
Not Found类的错误主要是由于网络服务访问出错.所以需要分析是由哪个网络服务访问失败而导致的. DataAccessSilverlight.PowerDataServiceReference.G ...
- 【五】服务熔断、降级 —— Hystrix(豪猪)
分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖,每个依赖关系将在某些时候将不可避免地失败. 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务 B和微服务 ...
- 【poj1741】Tree 树的点分治
题目描述 Give a tree with n vertices,each edge has a length(positive integer less than 1001). Define dis ...
- UML之涉众/参与者(角色/执行者)(Actor)/业务主角(BusinessActor)/业务工人(BusinessWorker)/用户/角色辨析【图解】
参考文档: [业务建模](http://www.baike.com/wiki/%E4%B8%9A%E5%8A%A1%E5%BB%BA%E6%A8%A1) [UML 核心元素之参与者](http://w ...
- 嵌入式开发 迅为4418开发板Qt移植移动4G模块第一部分
本文转自迅为论坛:http://topeetboard.com 了解更多:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-7744162139 ...
- P1456 Monkey King
题目地址:P1456 Monkey King 一道挺模板的左偏树题 不会左偏树?看论文打模板,完了之后再回来吧 然后你发现看完论文打完模板之后就可以A掉这道题不用回来了 细节见代码 #include ...
- SpringCloud Hystrix
⒈Hystrix是什么? Hystrix使一个用于处理分布式系统的延迟和容错的开源库.在分布式系统里,许多依赖不可避免的因服务超时.服务异常等导致调用失败,Hystrix能够保证在一个依赖出现问题的情 ...
- 【VMware vSphere】ESXi系统设置静态IP
写在前面: 为了方便管理,一般将ESXi系统的IP设置为静态 ESXi6.5系统和6.0系统类似,这里以ESXi6.0系统为例 1, 进入系 ...