使用for循环在Django中随机化内容

时间:2014-12-12 21:01:17

标签: python django

我试图从我的10篇文章数据库中获取另一篇文章,每次刷新页面时都使用Django随机。每篇文章由四部分信息组成:

article.pubDate
article.author
article.heroImage
article.body

我已经使用了for循环{% for article in object_list|slice:":1" %}来获取一篇文章,但我不知道是否有类似随机或随机播放的内容我可以添加到我的for循环中

list.html

{% for article in object_list|slice:":1" %}
    <div class="mainContent clearfix">
        <h1>Top 10 Video Games</h1>
        <p class="date">{{article.pubDate|date:"l, F j, Y" }}</p> | <a href="" class="author">{{article.author}}</a>
        <img src="{{article.heroImage}}" alt="" class="mediumImage">
        <p class="caption">{{article.body|truncatewords:"80"}}</p>
{% endfor %}

1 个答案:

答案 0 :(得分:2)

如何从视图而不是对象列表中获取随机对象?

实施例

def myview(request):

    random_object = MyModel.objects.order_by('?').first() #or [0] if < django 1.6

    #Send this in the context..

现在在模板中引用它而不是切片整个对象列表。

如果确实需要对象列表,请执行

random_list = MyModel.objects.order_by('?')

每次都会加载一个随机列表。

这是documentation。请注意,这个可能有点贵。

相关问题