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其原因是没有给视 ...
随机推荐
- POJ 1966
求的是无向图的点连通度.开始便想到网络流,既然选的是点,当然就要拆点加边了.但无论如何也不敢往枚举源汇点的方向想,因为网络流复习度很高.看看网上大牛的,都是枚举,再看数据,原来N才50个点,枚举无压力 ...
- Class 找出一个整形数组中的元素的最大值
目的:找出一个整形数组中的元素的最大值 以下,我们用类和对象的方法来做. #include<iostream> using namespace std; class Array_m ...
- git笔记之eclipse使用github远程仓库进行版本号管理
原文地址:http://dtbuluo.com/90.html 这里记录一下eclipse开发工具中git的使用说明. 环境:centOS.eclipse-jee-kepler-SR2-linux-g ...
- Github Pages 建立过程记录
之前建立过一个測试页面. 如今在折腾CreateJS 试着把离线版的文档传到github pages上面. 第一步:创建Repository 第二步:本地初始化 主要命令:git init 第三步:复 ...
- [think in java]第12章 通过异常处理错误
异常处理是java中唯一正式的错误报告机制. 而且通过编译器强行运行. 异常參数 抛出异常与方法正常返回值的差别:异常返回的"地点"与普通方法调用返回的"地点" ...
- ORACLE 按表字段值的不同统计数量
select p.id comperitorId,p.compcorp competitorName, sum(case when c.kindname = 'ATM' then c.num else ...
- 【SCOI 2005】 骑士精神
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1085 [算法] IDA* [代码] #include<bits/stdc++. ...
- Node.js:目录
ylbtech-Node.js:目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 1. http://www.runoob.com/nodejs/nodejs ...
- vue插件 vue-seamless-scroll 无缝滚动插件ES6使用总结
最近因为需求需要写一个项目信息无缝向上滚动组件,在网上搜了一下,看到大家的一致好评就果断的使用了vue-seamless-scroll组件.下面就简单的介绍它的使用,具体详细的使用推荐大家去看下开发者 ...
- Mysql外键的变种 三种关系
一.介绍 因为有foreign key的约束,使得两张表形成了三种了关系: 多对一 多对多 一对一 二.重点理解如果找出两张表之间的关系 分析步骤: #1.先站在左表的角度去找 是否左表的多条记录可以 ...