django模板使用
概述
模板由两部分组成,HTML代码,逻辑控制代码,作用:快速生成HTML页面,优点:模板的设计实现了业务逻辑与现实内容的分离
定义模板
挖坑与继承
模板继承可以减少页面的内容的重复定义,实现页面的重用,在父模板中预留区域,子模板去填充。
block标签
父html页面挖坑
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>
子html页面继承
{% extends 'father.html' %}
{% block content %}
<!--写子模板的内容,会重写父模板,显示子模板内容-->
<!--不写内容调用父模板用super-->
{{ block.super }}
{% endblock %}
if标签
{% if 表达式1 %}
{# 语句1 #}
{% elif %}
{# 表达式2 #}
{% else %}
{# 表达式3#}
{% endif %}
for标签
{% for 变量 in 迭代对象 %}
{# 语句1 #}
{% empty %}
{# 语句2 #}
{% endfor %}
comment标签
{% comment %}
{# 多行注释 #}
{# {# 单行注释 #} #}
{% endcomment %}
ifequal、ifnotequal标签
{% ifequal a b %}
{# a,b是否相等#}
{% endifequal %}
{% ifnotequal a b %}
{# 判断a,b是否不等 #}
{% endifnotequal %}
url标签
{% url 'namespace:name' %}
{# 反向解析 #}
csrf_token标签
{% csrf_token %}
{# 用于跨站请求伪造保护 #}
autoescape标签
{% autoescape off %}
{{code}}
{# 用于HTML转义 #}
{% endautoescape %}
过滤器
lower
{{变量|lower}}
{# 将变量转换为小写显示#}
upper
{{变量|upper}}
{# 将变量转换为大写显示#}
join
{{str|join:'*'}}
{# 将传过来的str用*连接起来#}
date
{{date|date:'Y-m-d'}}
{# 设置日期格式 #}
html转移
{{code|escape}}
{{code|safe}}
加减乘除p>
{{num|add:10}}
{# 加10 #}
{{num|add:-5}}
{# 减5 #}
{% widthratio num 1 5 %}
{# 乘5 #}
{% widthratio num 1 5%}
{# 除5#}
CSRF
跨站请求伪造:某些恶意网站包含链接、表单、按钮、js,利用登陆用户在浏览器中认证,从而攻击服务.
防止CSRF:在settings.py文件中的MIDDLEWARE增加'django.middleware.csrf.CsrfViewMiddleware'。
django模板使用的更多相关文章
- 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其原因是没有给视 ...
随机推荐
- OpenCV学习笔记(六十二)——《OpenCV Computer Version with Python》阅读摘要
如今python火啊.每次OpenCV自带的ml模块都让我直呼坑爹,索性准备用python来做OpenCV后期的机器学习算法的处理.于是赶紧拿起这本书读读. 适合OpenCV和python都有一定基础 ...
- 支持中文的基于词为基本粒度的前缀树(prefix trie)python实现
Trie树,也叫字典树.前缀树.可用于"predictive text"和"autocompletion".亦可用于统计词频(边插入Trie树边更新或加入词频) ...
- H_Dp
<span style="color:#000099;">/* H - 简单dp 例题扩展 Time Limit:3000MS Memory Limit:65536KB ...
- Unity3D与JSP TomCatserver传递数据和文件( 二 ) Unity3D向java传输表单
扫码关注微信公众号,获取最新资源 经历了一天的工作.我又来更新啦...白天手欠,把上一个给删了.明天重写吧.. 废话不多说.我们先去Unity里创建一个能够输入username和password的登录 ...
- Redis各种数据类型的使用场景
Redis的六种特性 l Strings l Hashs l Lists l Sets l Sorted Sets l Pub/Sub Redis各特性的应用场景 Strings Strings 数据 ...
- 在IIS6,7中部署ASP.NET网站
查看web.config文件 ASP.NET网站与一般的桌面程序不同,不是拷贝过来就能运行的(数据库连接除外). 要想运行它,通常需要一些配置过程.但是,我们到底需要配置什么呢?答案是:查看web.c ...
- luogu3953 逛公园
正解:SPFA+DP 将POJ3463中maxDist(Target)由minDist(Target)+1改为minDist(Target+K)即可.判断0环,需要对每个节点建立下标为maxDist- ...
- SVGImageView
In essence, I'm trying to layer multiple ImageViews (one of which is a floor plan, the other a recta ...
- DNS 隐蔽通道工具资料汇总
http://www.cnblogs.com/bonelee/p/7651746.html DNS隧道和工具 内含dns2tcp.iodine.dnscat2工具的简单使用说明 iodine工具的使用 ...
- office2016专业版激活码
office2016专业版激活密钥 Office 2016 Pro Plus Retail 版激活密钥:office2016专业版激活码 [Key]:3XJTG-YNBMY-TBH9M-CWB2Y-Y ...