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')