为啥这不起作用? [姜戈]
Posted
技术标签:
【中文标题】为啥这不起作用? [姜戈]【英文标题】:Why is this not working? [Django]为什么这不起作用? [姜戈] 【发布时间】:2017-10-15 07:03:56 【问题描述】:我正在努力解决这个问题
% extends "base_generic.html" %
% block content %
<h1> author.first_name author.last_name </h1>
% for book in view.books_by_author %
% if author.last_name in book.author %
<p> book.title </p>
% endif %
% endfor %
% endblock %
“作者”是一个上下文变量。这是 books_by_author 函数:
def books_by_author(self):
books = Book.objects.all()
return books
这部分不起作用:
% if author.last_name in book.author %
<p> book.title </p>
但是当我尝试这个时,它正在工作。有没有办法让“book.author”成为一个字符串,或者有办法解决吗?
% if "Twain" in book.author %
<p> book.title </p>
【问题讨论】:
@ChristianKönig 对于这个特定问题,我怎么能比这更具描述性?我在主题行中包含了 [Django]。 【参考方案1】:你应该和相关作者的last_name
比较
% if author.last_name in book.author.last_name %
<p> book.title </p>
% endif %
或者更严格地说,使用==
:
% if author.last_name == book.author.last_name %
<p> book.title </p>
% endif %
【讨论】:
以上是关于为啥这不起作用? [姜戈]的主要内容,如果未能解决你的问题,请参考以下文章