IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Django 模板语法 -> 正文阅读

[Python知识库]Django 模板语法

一、模板

????????在Django框架中,模板是可以帮助开发者快速生成呈现给用户页面的工具,模板的设计方式实现了我们MVT中VT的解耦,VT有着N:M的关系,一个V可以调用任意T,一个T可以供任意V使用。

????????模板处理分为两个过程

?? ?????????① 加载

?????????? ?② 渲染

????????模板主要有两个部分 ?? ?① HTML静态代码 ?? ?② 动态插入的代码段(挖坑,填坑),模板中的动态代码段除了做基本的静态填充,还可以实现一些基本的运算,转换和逻辑。

二、标签

- {% %} 标识符
- 标签分为但标签和成对的标签
- 成对的标签切记不能省略,开始标签和结束标签

作用:

?? ?????1. 加载外部传入的变量

?? ??? ?2. 在输出中创建文本

?? ??? ?3. 控制循环或逻辑

格式:

{% for 变量 in 列表 %}
	语句1 
       {% empty %}
	语句2
{% endfor %}
{#  当列表为空或不存在时,执行empty之后的语句  #}

常用标签

{{ forloop.counter }} 表示当前是第几次循环,从1数数

{{ forloop.counter0}} 表示当前是第几次循环,从0数数

{{ forloop.revcounter}}表示当前是第几次循环,倒着数数,到1停

{{ forloop.revcounter0}}表示当前第几次循环,倒着数,到0停

{{ forloop.first }} 是否是第一个 ?布尔值

{{ forloop.last }} 是否是最后一个 布尔值

ifequal 如果相等
 ?? ?{% ?ifequal ?value1 value2 %}
 ?? ??? ?语句
 ?? ?{% endifequal %}
ifnotequal 如果不相等

url:反向解析
 ?? ?{% url 'namespace:name' p1 p2 %}
 csrf_token 用于跨站请求伪造保护的
 ?? ?{% csrf_token %}

CSRF

跨站请求伪造

?? ?某些恶意网站包含链接,表单,按钮,Js利用登陆用户在浏览器中的认证信息,进行非法操作,攻击服务,破坏数据

在表单中添加

{% csrf_token %}

在settings中的中间件MIDDLEWARE中配置打开

?? ?'django.middleware.csrf.CsrfViewMiddleware',

三、结构标签

block

{% block XXX%}

?? ??? ?code

{% endblock %}
? - 块
? - 用来规划我们的布局 (挖坑)
? - 首次出现,代表规划
? - 第二次出现,代表填充以前的规划
? - 第三次出现, 代表填充以前的规划,默认动作是覆盖
? ? - 如果不想覆盖,可以添加 ?{{ block.super }}
? ? - 这样就实现了增量式操作
extends

{% extends ?'父模板路径' %}
? - 继承
? - 可以获取父模板中的所有结构
block + entends?
? - 化整为零
include

{% include '模板文件' %}
? - 包含
? - 可以将页面作为一部分,嵌入到其它页面中
include + block
? - 由零聚一
- 三个标签也可以混合使用
- 能用block + extends搞定的 ?就尽量不要使用include
- 如果我们继承自一个父模板,子模版自己直接重写页面结构是不生效的,只能在既有坑中进行填充
?

四、静态资源

- 动静分离
- 创建静态文件夹
- 在settings中注册 STATICFILES_DIRS=[]
- 在模板中使用
? - 先加载静态资源 ?{% load static %}
? - 使用 {% static 'xxx' %} ?xxx相对路径
- 坑点
? - 仅在debug模式可以使用
? - 以后需要自己单独处理

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:12:00  更:2021-08-09 10:13:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 13:46:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码