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其原因是没有给视 ...
随机推荐
- python --端点调试
python端点调试 左边三角:快速跳到下一个端点 下箭头:单不调试 斜向下箭头:跳到函数内部执行代码
- C++模板的使用以及常见问题
最近的数据结构实验频繁地遇到了模板,之前对这一块接触不多,遇到了很多问题,放到这里总结一下. 模板的声明有两种:template <typename Type>或者template< ...
- Java入门系列 泛型
前言 <Java编程思想>第四版足足用了75页来讲泛型——厚厚的一沓内容,很容易让人头大——但其实根本不用这么多,只需要一句话:我是一个泛型队列,狗可以站进来,猫也可以站进来,但最好不要既 ...
- spring注解第04课 @Import
1.beans package com.atguigu.bean; public class Blue { public Blue(){ System.out.println("blue.. ...
- 分享12款 JavaScript 表格控件(DataGrid)
JavaScript 表格控件可以操作大数据集的 HTML 表格,提供各种功能,如分页.排序.过滤以及行编辑.在本文中,我们整理了13个最好的 JavaScript 表格插件分享给开发人员,开发者可以 ...
- 【python小练】0014题 和 0015 题
第 0014 题: 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示: { ":["张三",150,120,100], ":[& ...
- “无法找到XXX.exe的调试信息,或调试信息不匹配”解决方案
错误信息如下: 解决方法: 选择项目属性,依次序进行如下操作. 1.选择 配置属性->链接器->调试->生成调试信息 改为 是 一般问题都是出现在这个地方,修改完了可以尝试运行,若还 ...
- 百度地图web api使用案例
效果如下: 1.获取位置的经纬度: 如坐标:114.110033,22.541098 获取经纬度: http://api.map.baidu.com/lbsapi/getpoint/index.htm ...
- Important persons in deep learning
Geoffrey Hinton Pieter Abbeel Ian Goodfellow, GAN之父 2019.3 任 Apple Director Andrej Karpathy. 视觉大牛,李飞 ...
- luogu P3242 [HNOI2015]接水果
传送门 其实这题难点在于处理路径包含关系 先求出树的dfn序,现在假设路径\(xy\)包含\(uv(dfn_x<dfn_y,dfn_u<dfn_v)\) 如果\(lca(u,v)!=u\) ...