Django - перебор списка в обратном порядке

тег for в шаблоне Django не хочет перебирать список в обратном порядке! Это делает функция reversed. Pycharm подчеркивает и все

index.html:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div>
        {% for item in news reversed %}

        {% endfor %}

    </div>
</body>
</html>

views.py

def index(request):


    news = News.objects.order_by('-created_at')
    context ={'news': news, 'title': 'Список новостей'}

    return render(request, template_name='news/index.html', context=context)

Чтобы вывести список в обратном порядке используйте .reverse():

views.py

def index(request):
    news = News.objects.order_by('-created_at').reverse() # Добавлено 
    context ={'news': news, 'title': 'Список новостей'}

    return render(request, template_name='news/index.html', context=context)

в шаблоне обращайтесь просто к списку:

index.html:

{% for item in news %}
    {{item.field))    
{% endfor %}
Вернуться на верх