【问题标题】:Django-- Display a message if there is no content in the pageDjango--如果页面中没有内容,则显示一条消息
【发布时间】:2017-11-24 19:20:52
【问题描述】:

如果页面上没有内容,我想在页面上显示一些文本消息。例如,如果用户没有任何收藏,并且用户点击了我最喜欢的页面,我想在我的收藏页面上显示“你没有任何收藏”之类的内容。

这是我最喜欢的模特:

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:因为不知道某个问题的答案而投反对票?我认为这个问题显示了一些研究,清晰简洁。

【问题讨论】:

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


【解决方案1】:

ForeignKey 可以使用反向关系:

{% if not user.favorite_set.all %}
    You have no favorites
{% endif %} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    相关资源
    最近更新 更多