笔记8-Django之模板

本文详细介绍了Django模板的作用,包括其在视图与HTML分离中的角色,以及模板语言的基础知识。讨论了模板加载和渲染过程,强调了模板变量的解析规则。还探讨了模板标签的使用,如条件判断、循环,并展示了如何创建和使用自定义过滤器。此外,文章阐述了模板继承的概念,提高代码复用性,并总结了模板的各个关键方面,如路由配置、内置过滤器和防御CSRF攻击的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模板作用:

模板致力于表达外观而不是程序逻辑,实现业务逻辑view与现实内容Template的分离,一个视图可使用任意模板,一个模板也可供多个视图使用
简而言之,django能够单独分开python和HTML,而让python代码变量进入视图和HTML页面
模板包含两个部分:
(1)静态部分—HTML,css、JavaScript,常见的HTML页面编写
(2)动态部分—模板语言。对于django模板语言定义在django.template,创建项目后settings.py文件定义了关于模板的配置,通常是在项目的根目录下创建template目录
处理模板一般分两个阶段:
(1) 加载模板: 根据给定的路径找到模板文件,并编译后存放到内存中
(2) 渲染: 使用上下文数据对模板插入数据值并返回生成字符串,可直接使用django提供的render()调用模板

模板语言:

模板语言作用:计算并输出到HTML中, 变量名必须由字母, 数字, 下滑线和点组成, 不能以下划线开头
基本语法: { { 变量名 }}
模板引擎遇到点(.)的顺序解析
第一步: 当做字典book[‘name’]处理,并获取值
第二步: 先属性后方法,即将book当做对象,先查找属性name, 如果没有,在查方法,name()
第三步: 如果格式为book.0,则解析为book[0]
如果变量不存在,则插入空字符串,
注意: 若在模板中调用方法则不能传递参数
views.py

def show_values(request):
    # 对象
    books=BookInfo()
    books.bname="如何成为更好的自己"
    books.bpage=532
    # 字典
    dicts={
   "name":"老王","like":"喜欢呆在隔壁..."}
    # 列表
    datas=["python程序","python is easy","MySQL重入门到放弃"]
    return render(request,"book/show_values.html",{
   "books":books,"dicts":dicts,"datas":datas})

urls.py

    url(r"^show_values",show_values),

template目录下.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板变量</title>
</head>
<body>
<h1>显示模板变量:</h1>
<h2>显示对象内容:书名: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值