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框架中视图层与模板层之间的交互

在视图函数中,可以将变量封装在字典中并且传递给模板层:

from shortcuts import render
return render(request, '模板文件名'(不需要具体路径),dict)

如果函数中需要封装进字典的变量有许多,则可以利用locals()函数直接返回函数中的所有局部变量的字典,如:

a = 1
b = 2
c = locals()
# c = {'a':1,'b':2}

而视图层将数据以字典方式传入模板层后,相对应的,模板层可以通过{{ key }}来直接返回对应的value,此时value可以是很多数据类型:

  • 若value为列表,则可以通过访问下标:{{ key.index }}字典也一样,均以.的方式来访问
  • 若value为对象,则直接通过调用对象的方法{{ key.func }}
  • 若value为函数,则将函数名传入即可返回对应数据
    还有一种交互方法则是通过模板标签,格式如下:
{% 标签 %}
...
{% 结束标签 %}

具体有if/endif标签,for/empty/endfor标签
for标签中有一些内置变量如下,可以直接在标签中使用:

在这里插入图片描述
注意变量都需要用{{ 变量名 }}来访问

  • 变量过滤器
    过滤器的作用是将变量通过一定形式过滤筛选后输入,是在模板层的数据处理,具体格式为:{{ 变量|过滤器:'参数'|... }}常用过滤器有:
    在这里插入图片描述
    提一下safe过滤器,我们先了解html转义是什么:
    比如说我现在在写这篇文章,我写了一个html字符串"alert(666)",我的目的只是举例子,并不是要浏览器真正执行这个代码,也就是浏览器会自动将这些html标签转义成一个正常的字符串,而不是解析这个语句,若我们有时候确实需要通过一个变量来对模板文件插入html语句,就可以通过safe过滤器来告诉浏览器,这句话是安全的,可以正常解析,因此浏览器就会正常跳出弹窗输入666。
  • 父模板与子模板
    在这里插入图片描述
    在这里插入图片描述
    在许多网站中,如上,很多url的界面框架都是类似的,而不一样的只是其中的内容,其中就可以运用到模板的继承。
    在父模板中,可以利用{% block block_name %}...{% endblock %}定义可被子模板修改的内容。
    而在子模版中,首先在模板第一行需要用{% extend ‘Base.html’ %}来继承父模板,后续更改的内容标签同父模板中的一致。
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:33:48  更:2022-02-01 20:35:32 
 
开发: 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年11日历 -2024/11/16 1:54:10-

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