python - 如果条件不适用于 django 模板中的字符串变量
问题描述
我有一个模型Book
,其中包含一个CharField: 'category'
描述书籍类型的模型,我想根据书籍类型显示书籍的信息。
我试过这个:
{% for category in categories %}
<div class="row">
<div class="title-section mb-5 col-12">
<h2>Popular in {{category}}</h2>
</div>
</div>
<div class="row">
{% for book in books %}
{% if book.category == '{{category}}' %}
<div class="col-lg-4 col-md-6 item-entry mb-4">
<a href="#" class="product-item md-height bg-gray d-block">
<img src='/media/{{book.img}}' alt="Image" class="img-fluid">
</a>
<h2 class="item-title"><a href="#">{{ book.title }}</a></h2>
<strong class="item-price">Rs. {{ book.price }}</strong>
</div>
{% endif %}
{% endfor %}
</div>
{% endfor %}
模型.py:
def main(request):
books = Book.objects.all()
categories = []
for book in books:
categories.append(book.category)
categories = list(set(categories))
return render(request, "index.html", {'books': books, 'categories': categories,})
但这不起作用,它只显示:
在小说中流行
在励志中流行
受欢迎的信息
青少年流行
流行于自传
不显示任何书籍的信息。我认为有问题if condition
请帮助我!
解决方案
更改此行
{% if book.category == '{{category}}' %}
对此
{% if book.category == category %}
推荐阅读
- amazon-s3 - 如何从 sagemaker jupyter notebook 读取存储在 S3 中的大文本文件?
- python - Python Lists 如何合并两个或多个推导式?
- python - Pandas 按行号分组产生意外输出
- python - 想在数据库中存储html代码,并让它在您单击按钮时出现
- laravel-sanctum - Laravel Sanctum API 令牌安全性
- ios - 为面向 IOS 10 的框架添加 swift UI 支持,
- java - 如何从单选按钮获取值并显示在另一个片段的编辑文本上?
- beautifulsoup - 查找有序的结果列表会显示“未找到结果”和 Beautiful soup
- android - Android - 出现软键盘时 VideoView 隐藏的图像
- javascript - ESLint 未定义/被赋值但未使用