为什么这样不行?[德扬戈]

2024-04-20 01:17:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力解决这个问题

{% 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 %}

“author”是一个上下文变量。这是图书作者功能:

def books_by_author(self): 
    books = Book.objects.all()  
    return books

此部分不起作用:

{% if author.last_name  in book.author %}
        <p>{{ book.title }}</p>

但当我尝试这个的时候,它起作用了。有没有一种方法书籍作者“一根绳子还是有办法的?你知道吗

{% if "Twain"  in book.author %}
        <p>{{ book.title }}</p>

Tags: nameinbasebyiftitlehtml作者
1条回答
网友
1楼 · 发布于 2024-04-20 01:17:10

您应该与相关作者的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 %}

相关问题 更多 >