首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django模板: False vs. None

Django模板: False vs. None
EN

Stack Overflow用户
提问于 2010-07-15 19:36:17
回答 5查看 5K关注 0票数 15

如何在django模板中区分NoneFalse

代码语言:javascript
运行
AI代码解释
复制
{% if x %}
True 
{% else %}
None and False - how can I split this case?
{% endif %}
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-07-15 20:10:30

每个Django模板上下文contains True, False and None。对于Django 1.10及更高版本,您可以执行以下操作:

代码语言:javascript
运行
AI代码解释
复制
{% if x %}
True 
{% elif x is None %}
None
{% else %}
False (or empty string, empty list etc)
{% endif %}

Django1.9及更早版本不支持if标记中的is运算符。在大多数情况下,使用{% if x == None %}是可以的。

代码语言:javascript
运行
AI代码解释
复制
{% if x %}
True 
{% elif x == None %}
None
{% else %}
False (or empty string, empty list etc)
{% endif %}

在Django1.4和更早的版本中,你不能在模板上下文中访问TrueFalseNone,你可以使用yesno过滤器。

在视图中:

代码语言:javascript
运行
AI代码解释
复制
x = True
y = False
z = None

在模板中:

代码语言:javascript
运行
AI代码解释
复制
{{ x|yesno:"true,false,none" }}
{{ y|yesno:"true,false,none" }}    
{{ z|yesno:"true,false,none" }}    

结果:

代码语言:javascript
运行
AI代码解释
复制
true
false
none
票数 15
EN

Stack Overflow用户

发布于 2010-07-15 19:44:23

您可以创建自定义过滤器:

代码语言:javascript
运行
AI代码解释
复制
@register.filter
def is_not_None(val):
    return val is not None

然后使用它:

代码语言:javascript
运行
AI代码解释
复制
{% if x|is_not_None %}
    {% if x %}
        True
    {% else %}
        False
    {% endif %}
{% else %}
    None
{% endif %}

当然,你也可以调整过滤器来测试你喜欢的任何条件…

票数 5
EN

Stack Overflow用户

发布于 2012-01-09 18:58:47

对前面答案的增强可能是:

代码语言:javascript
运行
AI代码解释
复制
{% if x|yesno:"2,1," %}
   # will enter here if x is True or False, but not None
{% else %}
   # will enter only if x is None
{% endif %}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3259279

复制
相关文章
Django:DEBUG=False
Django关闭DEBUG模式后,就相当于是生产环境了,Django官网上指出如果是django框架一旦作为生产环境,那么它的静态文件访问接口就不应该从Django框架中走了,应该有独立的web环境,首推nginx 。
新码农
2020/12/28
8140
new_tensor(data, dtype=None, device=None, requires_grad=False) → Tensor
new_tensor(data, dtype=None, device=None, requires_grad=False) → Tensor
狼啸风云
2020/04/26
2K0
Django教程 —— Django模板
这样定义就太麻烦了吧,并且定义字符串是不会出任何效果和错误,如果有一个专门定义前端页面的地方就好了。
忆想不到的晖
2021/09/29
1.6K0
Django教程 —— Django模板
Django 模板
在html文件中,default 为变量提供一个默认值,如果views传的变量布尔值为false,则使用指定的默认值,如果为true,就使用views传的变量值;
HammerZe
2022/03/25
4.9K0
Django 模板
Django模板
原型:render(request, templateName[, context])
星哥玩云
2022/09/14
5680
Django模板
django debug=false 时的静态路由设置
把DEBUG从True改成False后就会出现404(必需指定404和500错语页面,如上图的目录结构)找不到页面的错误。原因是DEBUG为 True时django会默认帮我们处理静态文件,而为False的话还需要我们做点事。在全局usrs.py中加下如下代码:
一朵灼灼华
2022/08/05
7610
Django模板语言
TomatoCool
2023/07/30
2360
Django 模板4.1
模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视图可以使用任意一个模板,一个模板可以供多个视图使用 模板包含 HTML的静态部分 动态插入内容部分 Django模板语言,简写DTL,定义在django.template包中 由startproject命令生成的settings.py定义关于模板的值: DIRS定义了一个目录列表,模板引擎按列表
Lansonli
2021/10/09
1.5K0
为什么Python中的None is None is None == True
最近在StackOverflow上看到了一个问题,为什么Python中的None is None is None返回True,看到大家的讨论后对Python中的比较运算有了更深的认识。
杜逸先
2018/06/28
2.4K0
为什么Python中的None is None is None == True
Django模板标签
==, !=, >=, <=, >, < and, or, not, in, not in这些操作符都可以在模板中使用
星哥玩云
2022/09/14
1.7K0
Django模板(HTML)
Django中的模板相当于传统MVC模式中的V,而在Django的MVT中,模板是T。在传统的前后端不分离的开发形式中,Django的模板是非常有用的,但是在今天前后端分离的大环境下,Django模板基本没有什么用处。
zy010101
2021/10/09
5.4K0
Django模板(HTML)
Django渲染模板
在页面上显示内容可以简单的用django.http.HttpResponse来显示我们需要的内容,但是当我们需要一些处理一些复杂的数据或者从数据库读出来的操作要显示在html标签内或者js代码中就需要用渲染模板的方法。
earthchen
2020/09/24
7800
Python的is None vs ==None
想要弄清楚is None和==None的区别,首先要清楚==和is的区别。==和is的区别如下:
Tyan
2020/05/26
2.3K0
django 模板语言
在内置的方法满足不了我们的需求的时候,就需要自己定义属于自己的方法了,自定义方法分别分为filter和simple_tag
以谁为师
2019/05/28
1.3K0
Django模板层
tips:可以利用{% for obj in list reversed %}反向完成循环
py3study
2020/01/19
1.1K0
Python3中真真假假True、False、None等含义详解
在Python中,不仅仅和类C一样的真假类似,比如1代表真,0代表假。Python中的真假有着更加广阔的含义范围,Python会把所有的空数据结构视为假,比如[](空列表)、{}(空集合)、''(空字符串)等,而与之相反的非空数据结构即为真
一墨编程学习
2019/05/30
1.2K0
[UWP 自定义控件]了解模板化控件(5.2):UserControl vs. TemplatedControl
在UWP中自定义控件常常会遇到这个问题:使用UserControl还是TemplatedControl来自定义控件。
dino.c
2019/01/18
8730
[UWP 自定义控件]了解模板化控件(5.2):UserControl vs. TemplatedControl
django-模板之模板变量(二)
将views中的变量传递给html界面 book/views.py from django.views import View from django.shortcuts import render # Create your views here. class IndexView(View): def get(self,request): requests={ 'title':"python web", 'book_list':{
西西嘛呦
2020/08/26
1.9K0
Django的模板系统
  {{ }} 和 {% %}  (变量相关用{{ }}  逻辑相关用{% %})
py3study
2020/01/21
1.8K0
点击加载更多

相似问题

Django模板(App Engine) - None和False之间的区别

10

如何理解Python中的“None`或`False”、“`False or None`”、“None` and `False”、“`False and None`”的结果?

32

在[{'True':True,'False':False,'None':None},{},{},

10

False或None与None或False

62

模板vs. vs.

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档