Django--如果页面中没有内容,则显示一条消息

时间:2017-06-21 18:31:40

标签: django django-models django-templates django-views

如果页面上没有内容,我想在页面上显示一些短信。例如,如果用户没有任何收藏夹并且用户点击了我最喜欢的页面,我想在我最喜欢的页面上显示“你没有任何收藏夹”这样的内容。

这是我最喜欢的模特:

class Favorite(models.Model):
user_id = models.ForeignKey(User, on_delete=models.CASCADE)
content_id = models.ForeignKey(ContentItem, on_delete= models.CASCADE)

现在,如果我有OneToOneField而不是Foreignkey,我可以在favorites.html中完成以下操作

    {% if not user.favorite %}
    <H2>Oops, You don't have any Favorites </H2>
    Please visit <a href="{% url 'index' %}">our page</a> to make some favorites
    {% endif %}

但它不能是OneToOneField,因为当然一个用户可以有很多收藏夹。

提前致谢

编辑:这怎么可能与上述问题重复,另一个问题与这个问题的答案有关,就是这样。在了解此问题的答案之前,用户如何知道该问题?我的问题是关于“x”,django中存在某种关系“r”,这可以帮助我做“x”(可能不是唯一的方法),另一个问题是“r”做什么?现在,这个问题如何与另一个问题重复?

Edit2:并且因为不知道某个问题的答案而进行了投票?我认为这个问题显示了一些研究,简明扼要。

1 个答案:

答案 0 :(得分:1)

您可以对ForeignKey使用反向关系:

{% if not user.favorite_set.all %}
    You have no favorites
{% endif %} 
相关问题