Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django';如果不是';语句工作不正常_Python_Django_Conditional - Fatal编程技术网

Python Django';如果不是';语句工作不正常

Python Django';如果不是';语句工作不正常,python,django,conditional,Python,Django,Conditional,我正在努力使我在所有的草稿上签字时都能用红色字母显示草稿一词,所以我尝试了以下方法 <h6 id="date">{% if post.draft %}<div id="draft">DRAFT</div>{% endif %} </h6> 这是我的观点中的片段 if request.user.is_staff or request.user.is_superuser: object_list = Post.objects.all().or

我正在努力使我在所有的草稿上签字时都能用红色字母显示草稿一词,所以我尝试了以下方法

<h6 id="date">{% if post.draft %}<div id="draft">DRAFT</div>{% endif %} </h6>
这是我的观点中的片段

if request.user.is_staff or request.user.is_superuser:
    object_list = Post.objects.all().order_by('-id')
else:
    object_list = Post.published.all().order_by('-id')

为什么在模板中使用“发布”而不是“如果不发布。发布”

,您应该使用:

{% if post.status == 'draft' %}
您的模型上有以下字段:

status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='draft')
您只需检查post status字段值是否为草稿


检查
post.draft
无效,因为模板中没有字段
draft

,您应该使用:

{% if post.status == 'draft' %}
您的模型上有以下字段:

status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='draft')
您只需检查post status字段值是否为草稿


检查
post.draft
将不起作用,因为如果post.status='draft'@Pythonista,那么就没有字段
draft

,我在看到这篇文章之前就知道了。但如果你成功了,我会相信你的。谢谢你,如果post.status='draft'
@Pythonista我在看到这篇文章之前就知道了。但如果你成功了,我会相信你的。谢谢
status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='draft')