Django-3-Template模板
模板是html文档+Django逻辑语句的组合。
一、变量和标签
变量通过{{ }}来表示,两个大括号中间是变量名。
标签通过{% %}来表示,就是Python中的函数和方法。
常用标签:
{% for %} #表示遍历循环 {% if %} #表示判断 {% url "name" %} #表示路由地址 {% load %} #加载相关文件 {% csrf_token %} #用于防护跨站请求伪造攻击 {% with %} #重新命名变量名 {% extends %} #继承模板 {% block %} #重写父类模板的代码
跨站请求伪造:
可以写一个和正规网站一样的钓鱼网站,拿转账举例,这个网站把原来填写转入账户的input标签的name属性去掉,自己加一个name属性为自己账户的input,用户看不出来,这样实际把钱就骗到手了,所以引入了csrf,他网页请求时返回一个隐藏的带有随机字符串的input标签,在提交数据时验证这个字符串,如不一致则拒绝请求。
XSS攻击:
变量 | 描述 |
forloop.counter | 获取当前循环的索引,从1开始 |
forloop.counter0 | 获取当前循环的索引,从0开始 |
forloop.revcounter | 从最大数开始索引,依次递减,直到索引到1 |
forlopp.revcounter0 | 从最大数开始索引,依次递减,直到索引到0 |
forloop.first | 当遍历第一个元素时为真 |
forloop.last | 当遍历最后一个元素时为真 |
forloop.parentloop | 获取上层for循环的索引 |
二、模板的继承
在html中首行写{% extends “xxxx.html” %},则可以继承所有代码。
在原文档中,可以用{% block name %} {% endblock %}将想要在子模板中重写的部分包裹起来,在子文档中重写。
三、自定义过滤器
过滤器是对变量的内容进行处理,支持多个过滤器同时使用,但仅支持传入一个参数。
{{ variable | filter1 | filter2 }}
也可以自定义过滤器,方法如下:
1、在app中创建templatetags包,在其中创建任意名称的py文件。
2、文件中代码:
from django import template register = template.Library() @register.filter def MyFilter(x,y): return x+y
3、在模板中使用,需在首行导入文件:{% load 文件名 %}
Django-3-Template模板的更多相关文章
- Python Django 之 Template 模板的使用
一.模板样式 注意: 1.url urlpatterns = { path('admin/', admin.site.urls), path('order/', views.order), path( ...
- Python Django 之 Template 模板语言简介
一.什么事模板语言 html+逻辑控制语句 二.模板语言的作用 帮助前端处理后端发来的数据,方便前端展示(杂糅渲染) 三.模板语言语法 1.{{变量}} 变量使用双大括号{{}} 2.万能的句点号. ...
- django基础2: 路由配置系统,URLconf的正则字符串参数,命名空间模式,View(视图),Request对象,Response对象,JsonResponse对象,Template模板系统
Django基础二 request request这个参数1. 封装了所有跟请求相关的数据,是一个对象 2. 目前我们学过1. request.method GET,POST ...2. reques ...
- django template 模板
九.Template模板 Template 模板是根据view传过来数据在html展示的功能,典型python 模板jinjia2库提供丰富的上下文展示func 创建template位置在项目下与ap ...
- python框架Django中MTV框架之Template(模板/界面)
MTV框架之Template(模板/界面) 关注公众号"轻松学编程"了解更多. 1.模板目录位置 应用下 不需要注册 无法跨应用地进行复用 工程下 需要注册 settings.py ...
- python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 1. 创建一个 zqxt_tm ...
- Python Web框架篇:Django templates(模板)
为什么用templates? views.py视图函数是用来写Python代码的,HTML可以被直接硬编码在views.py之中.如下: import datetime def current_tim ...
- Django框架简介-模板系统
2.4 模板 官方文档 2.4.1 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 2.4.1.1 变量 {{ 变量名 }} 变量名由字母数 ...
- Django之Template
模板层(template) 概念: 模板与html的区别: 模板=html+模板语法 模板语法: 1 变量: {{}} 深度查询: 通过句点符. 列表,字典 clas ...
- 3.Django| 视图层| 模板层
1.视图函数 文件在view_demo 一个视图函数简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XM ...
随机推荐
- The 16th Zhejiang provincial collegiate programming contest
今天我挺有状态的,看过的题基本都给了正解(可能是昨晚cf div3打得跟屎一样,人品守恒,不好意思发题解了),自己也给队伍签了很多水题(不敢让队友写,怕出锅). 最后6题滚了,有点可惜.还差B和K没做 ...
- Numpy基本操作
NumPy:数组计算 NumPy是高性能科学计算和数据分析的基础包.它是Pandas等其他各种工具的基础 NumPy的主要功能: ndarray,一个多维数据结构,高校且节省空间 无需循环即可对整组数 ...
- openstack搭建之-cinder配置(12)
一. base节点配置 mysql -u root -proot CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder ...
- 采用VSPD、ModbusTool模拟串口、MODBUS TCP设备进行Python采集软件开发
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 不少仪器/设备都提供了数据采集的接口,其中不少是串口或网络的MODBUS/TCP协议. 串口是比较简单 ...
- vertical-align和text-align属性实现垂直水平居中
HTML: <div class="box"> <div class="content"> <span class="s ...
- ☆ [WC2006] 水管局长 「LCT动态维护最小生成树」
题目类型:\(LCT\)动态维护最小生成树 传送门:>Here< 题意:给出一张简单无向图,要求找到两点间的一条路径,使其最长边最小.同时有删边操作 解题思路 两点间路径的最长边最小,也就 ...
- Matlab中simulink的state space模块
%列写状态空间表达式矩阵 A=[- -;]; B=[ ; ]; C=[ ; ]; D=[ ; ]; %得到传递函数表达式 [num, den]=ss2tf(A, B, C, D, ); %在命令行打印 ...
- Hadoop生态圈-zookeeper完全分布式部署
Hadoop生态圈-zookeeper完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客部署是建立在Hadoop高可用基础之上的,关于Hadoop高可用部署请参 ...
- nginx的信号量
一.官方文档 https://www.nginx.com/resources/wiki/start/topics/tutorials/commandline/ 二.nginx进程说明 一般在nginx ...
- Oracle Database 10g安装
前言 oracle_10g_32位的安装包 链接:https://pan.baidu.com/s/1v1ZWYSjWLzKo3GnDuV5nrg 密码:88yd PLSQL Developer 32位 ...