模板中的 Django 布尔过滤器元素
Django boolean filter elements in template
我有一个 Django 模板,我可以在其中执行如下查询:
{% for post in user.post_auctions_set.all %}
我现在的意思是我只想显示 post 个没有布尔素数 = True 的元素。
我遇到过模板标签,但从未真正使用过它们。
可以给我一个关于如何设置过滤器的提示?
views.py
def pae(request, pk=None):
if pk:
user = get_user_model().objects.get(pk=pk)
else:
user = request.user
args = {'user': user}
return render(request, 'App/pae.html', args)
models.py
class Post_Auctions(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
author = models.ForeignKey(User, on_delete=models.CASCADE)
...
prime = models.BooleanField(verbose_name="Prime", default=False, editable=True)
提前致谢
您可以使用 if
clause 形式的内置 django 模板标签集:
{% for post in user.post_auctions_set.all %}
{% if post.prime %}
...
注意:这可能不是最好的解决方案,但我唯一能想到的是正确的,因为我现在对 Django 不太熟悉。至少,我在某处读到的是尽可能避免这种模板逻辑。
我有一个 Django 模板,我可以在其中执行如下查询:
{% for post in user.post_auctions_set.all %}
我现在的意思是我只想显示 post 个没有布尔素数 = True 的元素。 我遇到过模板标签,但从未真正使用过它们。 可以给我一个关于如何设置过滤器的提示?
views.py
def pae(request, pk=None):
if pk:
user = get_user_model().objects.get(pk=pk)
else:
user = request.user
args = {'user': user}
return render(request, 'App/pae.html', args)
models.py
class Post_Auctions(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
author = models.ForeignKey(User, on_delete=models.CASCADE)
...
prime = models.BooleanField(verbose_name="Prime", default=False, editable=True)
提前致谢
您可以使用 if
clause 形式的内置 django 模板标签集:
{% for post in user.post_auctions_set.all %}
{% if post.prime %}
...
注意:这可能不是最好的解决方案,但我唯一能想到的是正确的,因为我现在对 Django 不太熟悉。至少,我在某处读到的是尽可能避免这种模板逻辑。