一周学会Django5 Python Web开发-Django5内置模板引擎-模板上下文变量

2024-03-09 11:28

本文主要是介绍一周学会Django5 Python Web开发-Django5内置模板引擎-模板上下文变量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

锋哥原创的Python Web开发 Django5视频教程:

2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计32条视频,包括:2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV14Z421z78C/Django 内置的模板引擎包含模板上下文(亦可称为模板变量)、标签和过滤器,各个功能说明如下:

  • 模板上下文是以变量的形式写入模板文件里面,变量值由视图函数或视图类传递所得。

  • 标签是对模板上下文进行控制输出,比如模板上下文的判断和循环控制等。

  • 模板继承隶属于标签,它是将每个模板文件重复的代码抽取出来并写在一个共用的模板文件中,其他模板文件通过继承共用模板文件来实现完整的网页输出。

  • 过滤器是对模板上下文进行操作处理,比如

模板上下文

模板上下文是模板中基本的组成单位,上下文的数据由视图函数或视图类传递。它以{{ variable }}表示,variable是上下文的名称,它支持 Python 所有的数据类型,如字典、列表、元组、字符串、整型或实例化对象等。上下文的数据格式不同,在模板里的使用方式也有所差异。

使用变量的一些注意点如下:

  • 当模板引擎遇到一个变量,将计算这个变量,然后输出结果
  • 变量名必须由字母、数字、下划线、点组成,不能由数字和下划线开头
  • 当模板引擎遇到 “ . ” 的时候,按以下顺序进行解析
    • 按照 dict 解析 var[key]
    • 按照对象的属性或方法解析 var.var/func
    • 按照索引解析 var[index]
  • 如果变量不存在,不会引发异常,模板会插入空字符串 ''
  • 在模板中使用变量或方法时,不能出现 ()、[]、{}
  • 调用方法时,不能传递参数

​我们通过一个实例来学习下:

views.py,index方法:

模板上下文的内容截取、替换或格式转换等。

# 定义人类
class Person:# 属性 姓名name = None# 属性 年龄age = Nonedef __init__(self, name, age):self.name = nameself.age = agedef index(request):str = "模板变量"myDict = {"tom": '666', 'cat': '999', 'wzw': '333'}# 创建一个对象 zhangsanzhangsan = Person("张三", 21)myList = ["java", "python", "c"]myTuple = ("python", 222, 3.14, False)content_value = {"msg": str, "msg2": myDict, "msg3": zhangsan, "msg4": myList, "msg5": myTuple}return render(request, 'index.html', context=content_value)

index.html:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
字符串:{{ msg }}<br>
字典类型:{{ msg2.tom }},{{ msg2.cat }},{{ msg2.wzw }}<br>
对象:{{ msg3.name }},{{ msg3.age }}<br>
列表:{{ msg4.0 }},{{ msg4.1 }},{{ msg4.3 }},{{ msg4.2 }}<br>
元组:{{ msg5.0 }},{{ msg5.4 }},{{ msg5.1 }},{{ msg5.2 }},{{ msg5.3 }}
</body>
</html>

测试,浏览器输入:http://127.0.0.1:8000/index/

这篇关于一周学会Django5 Python Web开发-Django5内置模板引擎-模板上下文变量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/790532

相关文章

基于Python编写一个git自动上传的脚本(打包成exe)

《基于Python编写一个git自动上传的脚本(打包成exe)》这篇文章主要为大家详细介绍了如何基于Python编写一个git自动上传的脚本并打包成exe,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录前言效果如下源码实现利用pyinstaller打包成exe利用ResourceHacker修改e

Python在二进制文件中进行数据搜索的实战指南

《Python在二进制文件中进行数据搜索的实战指南》在二进制文件中搜索特定数据是编程中常见的任务,尤其在日志分析、程序调试和二进制数据处理中尤为重要,下面我们就来看看如何使用Python实现这一功能吧... 目录简介1. 二进制文件搜索概述2. python二进制模式文件读取(rb)2.1 二进制模式与文本

Python中Tkinter GUI编程详细教程

《Python中TkinterGUI编程详细教程》Tkinter作为Python编程语言中构建GUI的一个重要组件,其教程对于任何希望将Python应用到实际编程中的开发者来说都是宝贵的资源,这篇文... 目录前言1. Tkinter 简介2. 第一个 Tkinter 程序3. 窗口和基础组件3.1 创建窗

Django调用外部Python程序的完整项目实战

《Django调用外部Python程序的完整项目实战》Django是一个强大的PythonWeb框架,它的设计理念简洁优雅,:本文主要介绍Django调用外部Python程序的完整项目实战,文中通... 目录一、为什么 Django 需要调用外部 python 程序二、三种常见的调用方式方式 1:直接 im

Python字符串处理方法超全攻略

《Python字符串处理方法超全攻略》字符串可以看作多个字符的按照先后顺序组合,相当于就是序列结构,意味着可以对它进行遍历、切片,:本文主要介绍Python字符串处理方法的相关资料,文中通过代码介... 目录一、基础知识:字符串的“不可变”特性与创建方式二、常用操作:80%场景的“万能工具箱”三、格式化方法

Java 接口定义变量的示例代码

《Java接口定义变量的示例代码》文章介绍了Java接口中的变量和方法,接口中的变量必须是publicstaticfinal的,用于定义常量,而方法默认是publicabstract的,必须由实现类... 在 Java 中,接口是一种抽象类型,用于定义类必须实现的方法。接口可以包含常量和方法,但不能包含实例

浅析python如何去掉字符串中最后一个字符

《浅析python如何去掉字符串中最后一个字符》在Python中,字符串是不可变对象,因此无法直接修改原字符串,但可以通过生成新字符串的方式去掉最后一个字符,本文整理了三种高效方法,希望对大家有所帮助... 目录方法1:切片操作(最推荐)方法2:长度计算索引方法3:拼接剩余字符(不推荐,仅作演示)关键注意事

python版本切换工具pyenv的安装及用法

《python版本切换工具pyenv的安装及用法》Pyenv是管理Python版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,:本文主要介绍python版本切换工具pyen... 目录Pyenv 是什么?安装 Pyenv(MACOS)使用 Homebrew:配置 shell(zsh

VSCode开发中有哪些好用的插件和快捷键

《VSCode开发中有哪些好用的插件和快捷键》作为全球最受欢迎的编程工具,VSCode的快捷键体系是提升开发效率的核心密码,:本文主要介绍VSCode开发中有哪些好用的插件和快捷键的相关资料,文中... 目录前言1、vscode插件1.1 Live-server1.2 Auto Rename Tag1.3

Python自动化提取多个Word文档的文本

《Python自动化提取多个Word文档的文本》在日常工作和学习中,我们经常需要处理大量的Word文档,本文将深入探讨如何利用Python批量提取Word文档中的文本内容,帮助你解放生产力,感兴趣的小... 目录为什么需要批量提取Word文档文本批量提取Word文本的核心技术与工具安装 Spire.Doc