一周学会Django5 Python Web开发-Django5内置模板引擎-模板标签

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

2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计33条视频,包括:2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV14Z421z78C/标签是对模板上下文进行控制输出,它是以{% tag %}表示的,其中 tag是标签的名称,Django内置了许多模板标签,比如{% if %}(判断标签)、{% for %}(循环标签)或{% url %}(路由标签)等。

常用内置标签如下:

标签描述
{% for %}遍历输出上下文的内容
{% if %}对上下文进行条件判断
{% csrf_token %}生成csrf token的标签,用于防护跨站请求伪造攻击
{% url %}引用路由配置的地址,生成相应的路由地址
{% with %}将上下文名重新命名
{% load %}加载导入 Django的标签库
{% static %}读取静态资源的文件内容
{% extends xxx %}模板继承,xxx为模板文件名,使当前模板继承xxx模板
{% block xxx %}重写父类模板的代码

在for标签中,模板还提供了一些特殊的变量来获取for标签的循环信息,变量说明如下:

变量描述
forloop.counter获取当前循环的索引,从1开始计算
forloop.counter0获取当前循环的索引,从0开始计算
forloop.revcounter索引从最大数开始递减,直到索引到1位置
forloop.revcounter0索引从最大数开始递减,直到索引到0位置
forloop.first当遍历的元素为第一项时为真
forloop.last当遍历的元素为最后一项时为真
forloop.parentloop在嵌套的for循环中,获取上层for循环的forloop

我们修改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 }}

<h3>模板标签</h3>
<p>遍历for标签:</p>
{% for item in msg4 %}
    <p>这个是第{{ forloop.counter }}次循环</p>
    {% if forloop.first %}
        <p>这个是第一项:{{ item }}</p>
    {% elif forloop.last %}
        <p>这个是最后一项:{{ item }}</p>
    {% endif %}
{% endfor %}
<p>判断if标签:</p>
{% if msg == '模板变量' %}
    <p>模板变量</p>
{% elif msg == '模板变量2' %}
    <p>模板变量2</p>
{% else %}
    <p>其他</p>
{% endif %}
<p>url标签</p>
<a href="{% url 'index' %}">请求index</a>
<p>with标签</p>
{% with info=msg %}
    {{ info }}
{% endwith %}

</body>
</html>

用url标签的时候 第二个参数是路由名称,所以urls.py里,修改下:

path('index/', helloWorld.views.index, name="index"),

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

  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值