Python 模板中的Django布尔过滤器元素
我有一个Django模板,我在其中执行如下查询:Python 模板中的Django布尔过滤器元素,python,django,templatetags,Python,Django,Templatetags,我有一个Django模板,我在其中执行如下查询: {% for post in user.post_auctions_set.all %} 我现在的重点是,我只想显示没有布尔prime=True的post元素。 我遇到过模板标签,但从未真正使用过它们。 可以是smb。给我一个如何设置过滤器的提示,如 views.py def pae(request, pk=None): if pk: user = get_user_model().objects.get(pk=pk)
{% for post in user.post_auctions_set.all %}
我现在的重点是,我只想显示没有布尔prime=True的post元素。
我遇到过模板标签,但从未真正使用过它们。
可以是smb。给我一个如何设置过滤器的提示,如
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)
提前感谢您可以使用内置django模板标记集的表单:
{% for post in user.post_auctions_set.all %}
{% if post.prime %}
...
注意:这可能不是最好的解决方案,但这是我唯一能想到的正确方法,因为我现在对Django不太熟悉。至少,我在某时某地读到的是尽可能避免这种模板逻辑。您可以使用内置django模板标记集的形式:
{% for post in user.post_auctions_set.all %}
{% if post.prime %}
...
注意:这可能不是最好的解决方案,但这是我唯一能想到的正确方法,因为我现在对Django不太熟悉。至少,我在某时某地读到的是尽可能避免这种模板逻辑。你能分享模型和视图吗?有了
预回迁
对象,你可以提供与用户对象的过滤关系。只添加了视图和模型片段。我想从来没有使用过预取对象。有什么提示从何处开始以及它是如何工作的吗?您可以共享模型和视图吗?有一个预回迁
对象,您可以提供与用户对象的过滤关系。只添加了视图和模型片段。我想从来没有使用过预取对象。有没有任何提示,从哪里开始,它是如何工作的?基本上,这是一个解决方案,是的。但我不得不说,如果模板超过300行,那么这对a**来说是一种痛苦,因为所有内容都被无尽的if/else/for等语句所包围。但就目前而言,这似乎是最有效的方法。谢天谢地,这是一个解决方案,是的。但我不得不说,如果模板超过300行,那么这对a**来说是一种痛苦,因为所有内容都被无尽的if/else/for等语句所包围。但就目前而言,这似乎是最有效的方法。谢谢