【发布时间】:2021-09-20 07:04:24
【问题描述】:
我使用 Django 开发了一个网络应用程序。 在 View 函数中,我向前端呈现了一个查询集列表。 在我的例子中,标题表是书籍信息,材料是这本书的详细信息附加到哪个课程,如果这个附加关系是“丢弃”。 is_discard 在 Material 表中,而不是书籍是否丢弃。在 Material 表中,一个课程附加了几本书,并且丢弃状态不是按书籍而是按书籍-课程对,因为有些书籍可能在一个课程中丢弃但在其他课程中有效
view.py:
def render_2(request):
books = Title.objects.filter(name=title).values()
query_results_book_is_discard =
Material.objects.filter(id=book_id).values('is_discard')
return render(request, 'main.html',
context=
{'query_results_book_is_discard':query_results_book_is_discard,
'book', books})
在前端,query_results_book_is_discard 变量显示如下格式:
<QuerySet [{'is_discard': True}, {'is_discard': False}, {'is_discard': False}, {'is_discard': False}, {'is_discard': True}, {'is_discard': True}, {'is_discard': False}]>
query_results_book_is_discard 变量在前端 Django 模板的循环中, 我想使用 forloop 计数器来获取值(True 或 False)以使用 if 条件进行检查。 我已经在 main.html 中尝试过:
{% for book in books %}
{% if query_results_book_is_discard.counter0 != False %}
...
和
{% if query_results_book_is_discard.counter0.is_discard != False %}
和
{% if query_results_book_is_discard.is_discard.counter0 != False %}
全部失败。
如何获取 query_results_book_is_discard 中的 True 或 False 值以使用 if 条件?
【问题讨论】:
-
counter0是什么? -
django 模板中的循环计数器:stackoverflow.com/questions/11481499/…
标签: django django-templates django-queryset django-template-filters