我用Django开发了一个Web应用。在View函数中,我将一个查询集列表呈现到前端。在我的例子中,标题表是书籍信息,材料是这本书的详细信息,附在哪个课程上,如果这个附加关系是“丢弃”。is_discard在材料表中,而不是这本书丢弃与否。在材料表中,一门课程附带几本书,丢弃状态不是按书而是按书-课对,因为有些书可能在一门课程中丢弃,但在其他课程中有效
看法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\u results\u book\u is\u 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模板中的循环中,我想使用forcle计数器来获取要使用if条件检查的值(True或False)。我尝试过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 %}
都失败了。
我如何才能在查询\u results\u book\u is\u discard to use if条件中获得真值或假值?
我建议您创建一个自定义模板标记,允许您访问模板中列表的特定索引,如下所示。
您的应用程序文件树结构应具有以下内容:
your_app/
__init__.py
models.py
templatetags/
__init__.py
your_app_extras.py
views.py
然后,在自定义模板标记文件中。
your_app_extras.py
from django import template
register = template.Library()
@register.filter
def index(indexable, i):
return indexable[i]
然后,在模板中加载自定义模板标签:
{% load your_app_extras %}
然后,在for循环中,使用以下命令:
{% for book in books %}
{% with query_results_book=query_results_book_is_discard|index:forloop.counter0 %}
{% if query_results_book.is_discard %}
{% endwith %}
{% endfor %}
问题内容: 如何从QuerySet对象获取Django将在数据库上使用的SQL?我正在尝试调试一些奇怪的行为,但是我不确定要对数据库进行哪些查询。谢谢你的帮助。 问题答案: 你打印查询集的属性。
我有这样的疑问: 在模板中,我希望通过以下方式获取数据: 但不是产生数据作为: 它的结果是 发生了什么?我有理由在列表中存储数据。如何分别访问每个数据。谢谢 用途:颜色存储在数据字段中为:,因此我希望实现: 编辑类Hello(models.Model):用户=模型。外键(用户)数据=模型。字符域(最大长度=255)
问题内容: 我在页面上有一些循环,需要根据循环号列出项目。 当我打电话时: 一切正常,但是我真正需要的是: MyCustomRangeTag给了我它可以使用的Python ,而我已经拥有了数量。根据循环号,1、2、3等也是如此。这有可能吗? 问题答案: 这不可能直接实现,因为Django认为这是查找的关键-而不是x 的值。因此,当尝试查找而不是。 使用以下过滤器作为解决方法: 并像这样使用
问题内容: 我想知道如何在模板中获取当前URL。 说我目前的网址是: 如何将其返回到模板? 问题答案: Django 1.9及更高版本: 旧:
问题内容: 如何从Django模板中获取当前站点的域名?我试着寻找标签和过滤器,但那里什么也没有。 问题答案: 我认为你要访问的是请求上下文,请参阅RequestContext。
问题内容: 我有一个Tag模型实例的pk列表,例如 我有另一个模型,其中标签的m2m字段和包含3个标签(以上pks)的实例。 我想检索一个节点,其中包含我pk_list中指定的确切标签集。当我做 它返回三个相同实例的列表 显然,调用.get()无效,因为它必须返回一个实例。 那么,如何检索单个实例?我必须注意,如果我的pk_list不同,例如。[10,6]或[10,6,3,7],那么我什么也得不到