我对django很陌生,但在java世界有多年的编程经验,所以我觉得问这个问题很可笑——我相信答案是显而易见的,我只是错过了它.我似乎找不到正确的方式在谷歌或其他网站上查询这个...我已经在django文档中搜索过了,它要么不在那里,要么就是看不到.我想做的就是在一个模板测试中,如果var不是null或空字符串,或者只是一堆空格.我有一个问题,空间正在被引入我的领域——另一个问题,我必须而且将要解决...但是,我希望我的逻辑不管怎样都能起作用.现在,因为我的字符串只包含空格,所以只要这样做:{%if lesson.assignment%}总是通过,即使我不希望它通过.我已经寻找了一个修剪类型的功能,可以在{%}之间工作,但我似乎找不到任何东西.我试过脱衣舞,但它在{%}之间不起作用.有人能告诉我答案的方向吗...一些我可能错过的文件...某物

提前感谢万分感谢!

推荐答案

{% if lesson.assignment and lesson.assignment.strip %}

.strip调用str.strip(),因此您可以将仅限空白的字符串处理为空,而前面的判断确保我们首先删除None(没有.strip()方法)

证明它有效(./manage.py shell分):

>>> import django
>>> from django.template import Template, Context
>>> t = Template("{% if x and x.strip %}OK{% else %}Empty{% endif %}")
>>> t.render(Context({"x": "ola"}))
u'OK'
>>> t.render(Context({"x": "   "}))
u'Empty'
>>> t.render(Context({"x": ""}))
u'Empty'
>>> t.render(Context({"x": None}))
u'Empty'

Django相关问答推荐

""关系"core_Boundary_summary的列user_id中的空值"违反了非空约束|失败行包含(2,title,string,null)

模仿没有像预期的那样工作(Django)

无法在views.py django中验证密码

在Django ORM中引用非主外键

如何在Django管理自定义筛选器中包含自定义模型方法?

在Django测试get方法中获取HttpResponseNotFound

Django Rest Framework 速率限制动态基于用户类型

在用例图中建模前端和后端

Django REST Framework - 将额外参数传递给操作

如何缓存 Django Rest Framework API 调用?

Python 和 Django OperationalError (2006, 'MySQL server has gone away')

将 XML 从 URL 解析为 python 对象

django excel xlwt

Django Admin:如何在同一视图中显示来自两个不同模型的字段?

django:manytomanyfield 和 through 如何出现在 admin 中?

在 Django 中使用 LiveServerTestCase 时使用代码登录

1 个 django 应用程序中约有 20 个模型

django select_related - 何时使用它

Django 测试 - 在所有测试中修补对象

Django - 保存新对象时如何获取 self.id?