我对django很新,大约一个星期。
我正在创建一个用户输入内容的网站,然后其他用户可以投票决定他们是否喜欢这些内容。我知道它不是那么新颖,但是学习一堆工具是一个很好的项目。
我有一个多对多的表来存储谁喜欢或不喜欢什么。在我呈现页面之前,我将为当前用户提取所有喜欢和不喜欢的内容,以及我将要在页面上显示的内容。
当我渲染页面时,我会查看我要显示的内容列表,并逐个打印出来。我想向用户展示他们喜欢的东西,以及他们没有的东西。
所以在我的django模板中,我有一个名为entry的对象。我还有两个名为“不喜欢”的对象列表。有没有办法在我的django模板中确定条目是否是任何一个列表的成员。
我认为我正在寻找的是一个过滤器,我可以说像
{% if entry|in:likes %}
或
{% if likes|contains:entry %}
我知道我可以在模型中添加一个方法并单独检查每个条目,但这似乎是数据库密集型的。
有没有更好的方法来考虑这个问题?
答案 0 :(得分:15)
答案 1 :(得分:0)
转到here。与他们在行李箱上使用的非常相似。 “将此保存为smart_if.py在您的某个应用的templatetags文件夹中。然后使用简单的{%load smart_if%}将新的智能模板替换为无聊的内置Django {%if%}模板。”
答案 2 :(得分:-1)