Уроки Django

Урок #8 - Создание шаблона для новостей

Урок #8 - Создание шаблона для новостей

В этом уроке мы закончим работу над страницей новостей на сайте. Мы создадим шаблон, который будет получать данные из Python и выводить их через цикл в HTML-шаблоне.

Видеоурок

Для отображения HTML-шаблонов можно использовать не только файл views.py, но также можно обойтись без него и использовать такие методы, как: ListView или же DetailView. Первый служит для передачи большого количества информации или другими словами списка данных. Это могут быть статьи или же другой набор информации, который состоит не из одного объекта. Второй служит для отображения лишь одного объекта из базы данных. О нем мы поговорим еще в следующих уроках, поэтому особого акцента на нем сейчас ставить не будем.

В ListView мы указываем запрос к базе данных, в котором говорим что необходимо вывести, по какому критерию сортировать, какое максимальное количество элементов необходимо вывести и еще много других параметров.

К примеру, если мы хотим добавить некую дополнительную проверку в SQL запрос, то вместо команды all() необходимо прописать некий фильтр:
urlpatterns = [
    url(
        r'^$', 
        ListView.as_view(queryset = Articles.objects.filter(id = 2).order_by("-date")[:20], 
        template_name="news/posts.html")
    )
]
В примере выше будет показа лишь одна запись, у которой id равен двум. Такие же проверки можно проводить над другими полями в таблице.

Для вывода полученных данных необходимо всегда использовать цикл, так как элементов может быть несколько. В качестве переменной в цикле нужно устанавливать object_list.

Материалы для курса

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Исходный код

Весь код будет доступен после подписки на проект!

Онлайн редактор кода

Загрузка...

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Создание игры на Python 3 с PyGame
5 уроков
Уроки Python для начинающих
21 урок
Изучение Python до профи / Основы, Django, TKinter