@IIIaTaTeJIb
WEB-программист

Почему не отображаються записи из базы данных?

Мне на сайт требуется интегрировать пагинацию. Используя метод который предоставлен в документации, у меня появляется ошибка: local variable 'news' referenced before assignment
Код views.py:
from django.core.paginator import Paginator

def main(request):
    news_list = news.objects.all()
    paginator = Paginator(news_list, 25) # Show 25 contacts per page

    page = request.GET.get('page')
    news = paginator.get_page(page)
    return render(request, 'school/main.html', {'main': main})


Но, импортируя models, и страница уже отображается. Правда, новости не отображаются.
Код:
from django.core.paginator import Paginator
from . import models

def main(request):
    news_list = MODELS.news.objects.all()
    paginator = Paginator(news_list, 25) # Show 25 contacts per page

    page = request.GET.get('page')
    news = paginator.get_page(page)
    return render(request, 'school/main.html', {'main': main})

---------------------------------------------------------------------------

Может, кому понадобится - вот код urls:
from . import views, models

urlpatterns = [
    path('main/', views.main, name="main"),
    ...
]
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
tumbler
@tumbler Куратор тега Django
бекенд-разработчик на python
В шаблон передается объект функции main, у которого точно нет новостей где-то в словаре. Потому список пустой.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Guest007
@Guest007
Django, Python, Linux и всё такое...
Как раз-таки, следуя примеру, надо писать {'main': news} вместо {'main': main}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы