使用for循环对Django中的内容进行随机化

2024-06-28 11:27:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从我的10篇文章的数据库中得到一篇不同的文章,使用Django在每次刷新页面时都是随机的。每篇文章由四条信息组成:

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

我已经使用for循环{% for article in object_list|slice:":1" %}来获得一篇文章,但是我不知道是否有像random或shuffle这样的东西可以附加到for循环上。你知道吗

列表.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 %}

Tags: infordateobjectarticle文章slicebody
1条回答
网友
1楼 · 发布于 2024-06-28 11:27:25

从视图而不是对象列表中获取一个随机对象怎么样?你知道吗

示例

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。注意,这个可能有点贵。你知道吗

相关问题 更多 >