Django框架学习(三)

内容来源于【2020 最新python教程】第五部分:Django框架课程教学笔记和maple-shaw博客笔记

Django标签

for 标签

{% for name in name_list %}
    <li>{{forloop.counter}}-{{ name }}</li>
{% endfor %}

运行结果:
1-rongmei
2-meizi

for…empty

{% for foo in kong %}<!--变量kong是在view中返回的空的列表-->
  {{ foo }}<!--#有元素显示元素的值-->
{% empty %}<!--#列表为空则返回提示信息-->
    元素为空
{% endfor %}

if标签

{% if rongmei.age < 24 %}
    年龄小于24
    {% elif rongmei.age > 24 %}
    年龄大于24
    {% else %}
    年龄等于24
{% endif %}
  1. if标签中不支持算数运算,即无{% if 1+1>0 %}……{% endif %}的写法。要做加减运算可用add过滤器,乘除运算等可自定义过滤器
{% {1|add:1} >0 %}
   结果正确
{% endif %}
  1. if 标签中不支持连续判断
    python中的连续判断结果如下
    在这里插入图片描述
    js中的连续判断结果如下
    在这里插入图片描述
    模板语法中连续判断逻辑与js中的连续判断一致,与python中的逻辑不一样

with标签

作用相当于定义一个中间变量

{% with p_list.0.name as rongmei_name %}<!--with…as相当于给一个变量取一个别名-->
    <p>{{ rongmei_name }}</p>
    <p>{{ rongmei_name }}</p>
    <p>{{ rongmei_name }}</p>
{% endwith %}
<br>
{% with p_list.0.age as rongmei_age %}
    <p>{{ rongmei_age }}</p>
    <p>{{ rongmei_age}}</p>
    <p>{{ rongmei_age }}</p>
{% endwith %}

运行结果:
在这里插入图片描述

csrf_token

这个标签用于跨站请求伪造保护,在页面的form表单里面写上{% csrf_token %}
在这里插入图片描述

由浏览器发送一个请求给服务器A,由服务器A返回一个form表单,当点击提交的时候,提交的地址由form表单中的action决定,如果action不写,则还是返回给服务器A,如果action中写的是服务器B的地址,则将数据提交到服务器B

<form action="" method="post">
    <input type="text" name="k1">
    <button>提交</button>
</form>

通过上述代码直接点提交就会浏览器会提示”CSRF验证失败,请求中止“。
在这里插入图片描述
在form标签中加入{% csrf_token %}标签即可正常提交,提交时则会产生name和value的键值对以供服务器进行校验
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值