django模板--条件控制标签
条件控制标签
在django模板中可以通过条件控制标签进行逻辑控制,条件控制标签的语法如下:
{% if condition1 %}
...
{% elif condition2 %}
...
{% else %}
...
{% endif %}
其中elif和else部分都可以没有,这与python的if语句相同,condition1、condition2是条件表示符。只有当条件标识符为True或其他非空值时,才为True,否则为False。
例如:condition1为None、False、[]、{}等值时才为False,否则为True,这与jinja2模板类似。
本例在template目录中建立一个django模板文件(condition.html),该模板文件中使用完整的条件控制标签进行逻辑判断,然后在工程的Firstdjango目录中创建condition.py脚本文件
编写一个名为myCondition的路由函数,用于返回condition.html。在myCondition的路由函数中会设置多个条件,用来检测条件控制标签的逻辑判断。
1、首先建立工程,建立工程请参照:https://www.cnblogs.com/effortsing/p/10394511.html
2、在template目录中建立一个简单的django模板文件(condition.html),然后在condition.html文件中添加如下内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>条件控制</title>
</head>
<body>
{% if condition1 %}
<h1>条件1</h1>
{% elif condition2 %}
<h1>条件2</h1>
{% else %}
<h1>其他条件</h1>
{% endif %}
</body>
</html>
3、在工程的Firstdjango目录中建立一个condition.py脚本文件,然后在condition.py文件中添加如下内容:
from django.shortcuts import render
def myCondition(request):
values={}
values['condition1']=True
values['condition2']=False
return render(request,'condition.html',values)
4、然后在Firstdjango目录中找到urls.py脚本文件,用下面的代码代替urls.py脚本里面的内容:
from django.conf.urls import url
from .import condition
urlpatterns=[
#下面代码是本例添加的路由方法与正则表达式的映射
url(r'^condition$',condition.myCondition),
]
5、保存项目,启动django
6、浏览器访问
http://127.0.0.1:8000/condition
条件1
在前面的代码中,conditon1的值为True,所以第一个添加满足,如果将conditon1设为False或[],那么就会在浏览器上输出“其他条件”。
7、创建上面condition.html、condition.py脚本文件位置如下图所示:

django模板--条件控制标签的更多相关文章
- Django模板语言,标签整理
Django模板语言 标签 内置标签引用 1. autoescape 控制自动转义是否可用. 这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果. 该标签会以一个endautoes ...
- 测试开发之Django——No6.Django模板中的标签语言
模板中的标签语言 1.if/else {% if %} 标签检查(evaluate)一个变量,如果这个变量为真(即:变量存在,非空,不是布尔值假),系统会显示在{% if %} 和 {% endi ...
- kotlin字符串模板&条件控制
字符串模版: 小时候都有要求记日记的习惯,下面是一小学生记的日记: 很漂亮的流水账,那细分析一下这些文件其实大体都类似,只有几个不同点: 其实就是地点变了,那对于这种有规律的文字可以采用kotlin的 ...
- django模板 内建标签
autoescape 控制当前自动转义的行为,有on和off两个选项 {% autoescape on %} {{ body }} {% endautoescape %} block 定义一个子模板可 ...
- 11:django 模板 内建标签
django 内建标签 autoescape 控制当前自动转义的行为,有on和off两个选项 {% autoescape on %} {{ body }} {% endautoescape %} bl ...
- Django 模板中 include 标签使用小结
include 标签允许在模板中包含其它的模板的内容. 标签的参数是所要包含的模板名称,可以是一个变量,也可以是用单/双引号硬编码的字符串. 每当在多个模板中出现相同的代码时,就应该考虑是否要使用 { ...
- django模板-通过a标签生成链接并跳转
views.py from django.shortcuts import render from django.http import HttpResponse def index(request) ...
- Django 模板继承extend 标签include block
# block 站网页位置# includ 导入网页标签# extends 导入网页模板 # common_js.html <script src="/static/plugins/j ...
- djando模板----第一django模板应用
Django模板 我们已经知道,模板函数的函数的返回值就是返回给客户端的数据,但如果返回数据很复杂,如果一个非常大的html页面,直接将页面代码固化在python脚本文件中是不合适的,当然 也可以将h ...
随机推荐
- v-distpicker 前端展示三级地址,返回名称及对应的编码
背景: 使用v-distpicker前端展示省市区,并将选中的结果返回给后端,后端展示所选择的 省市区或对应的地区编码 官方地址: https://distpicker.pigjian.com/ 官方 ...
- 4.BeanFactory和ApplicationContext的区别
ApplicationContext和BeanFactory都是用于加载Bean的, 但是二者之间存在区别, ApplicationContext能够提供更多的扩展功能. 1).BeanFactory ...
- TeX Live安装指南
若要安装 TeXLive ,推荐下载 TeXLive 的 ISO 镜像,因为在线安装下载过程会很慢.如果网速快也可以在线安装.下载地址:http://mirror.ctan.org/systems/t ...
- HR#7 题解
T1 签到题 #include<bits/stdc++.h> #define R register int using namespace std; inline int g() { R ...
- MongoDB 系统分析器
1.1 系统分析器作用 可以利用系统分析器(system profiler)来查找耗时过长的操作. 系统分析器可记录特殊集合system.profile中的操作,并提供大量有关耗时长的操作信息,但相应 ...
- 新版create-react-app+webpack4跨域
src/setupProxy.js 创建文件 const proxy = require('http-proxy-middleware'); module.exports = function(ap ...
- 如何安全的从LVM中移除磁盘
学习如何安全的从LVM中移除磁盘,当磁盘卷中有磁盘出现问题或是想把磁盘卷中的磁盘重新使用时就显得十分有用.本教程将重点关注以下问题: 如何安全的从LVM中移除磁盘 如何联机从VG中移除磁盘 如 ...
- 提高十连测day3
提高十连测day3 A 我们可以枚举两个 $ 1 $ 之间的相隔距离,然后计算形如 $ 00100100 \cdots $ 的串在原串中最⻓⼦序列匹配即可,复杂度 $ O(n^2) $ .寻找 $ S ...
- Docker Dockerfile 定制镜像
使用 Dockerfile 定制镜像 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么无法重复的问题 ...
- linux too many files
Too many open files这个问题主要指的是进程企图打开一个文件,或者叫句柄,但是现在进程打开的句柄已经达到了上限,已经无法打开新句柄了. 网上一提到这个问题就要增加句柄上限,而往往这种情 ...