django模板使用
2024-10-01 08:31:23
概述
模板由两部分组成,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'
。
最新文章
- english
- [NOIP2013] 火柴排队(归并排序)
- spring1冲刺感想与总结
- [codeforces 516]A. Drazil and Factorial
- java 中文转换成Unicode编码和Unicode编码转换成中文
- SSM框架+Plupload实现断点续传(Spring+SpringMVC+MyBatis+Plupload)
- python网络编程-01
- JS判断字符串是否全为中文
- BitMap画图
- ionic2 tabs使用自定义图标
- Threads(线程)(二)
- python抢小米6自动化脚本
- 用自定义注解实现fastjson序列化的扩展
- 配置wildfly10为linux的服务,并开机启动
- GMA Round 1 极坐标的忧伤
- Django book manage system
- Inner Classes with TypeScript
- package分析
- axios 与 Jquery-ajax 的使用区别
- centos7 编译安装nginx
热门文章
- RabbitMQ发布订阅实战-实现延时重试队列
- HDU 5175
- 公告:CSDN博客积分系统升级(暂行版)
- Cocos2d-x3.0RC2 EditBox
- 关于TRIANGLE二维三角网格生成器在windows下的配置说明
- 文字录入无限制Undo,Redo的实现
- [ACM] HDU 5086 Revenge of Segment Tree(全部连续区间的和)
- element-UI中table表格的@row-click事件和@selection-change耦合了
- Spark中常用的算法
- JavaScript Simple