Найти в Дзене
And.Action

Начал изчать Django FrameWork ч.7 URL-VIEW-HTML.

Доброго времени суток. В прошлом занятии мы сделали админку и добавили в нашу базу данных запись в виде поста. Сейчас наша цель сделать так, чтобы на главной странице блога мы видели список наших постов. Для этого разберёмся как в Django работают URL, куда идёт "переадресация" и что при этом отображается. И так у нас есть каталог нашего движка где изначально был файл URL следующего содержания: Мы помним, что основное наше приложение blog и мы хотим отображать его на главной странице, для этого нам надо связать наше приложение с движком уже не на уровне настроек, где мы только регистрировали приложение, а на уровне "маршрутизации". Создаём в нашем приложении blog точно такой же файл urls.py. В файле SchoolU2B/urls.py связываем эти 2 файла через функцию include. urlpatterns это список ссылок, которые будут использоваться в нашем блоге. И в этом файле мы указали что если пользователь заходит на главную страницу в нашем случае это http://127.0.0.1:8000/ он попадает в файл blogs/urls.py Пе

Доброго времени суток. В прошлом занятии мы сделали админку и добавили в нашу базу данных запись в виде поста. Сейчас наша цель сделать так, чтобы на главной странице блога мы видели список наших постов. Для этого разберёмся как в Django работают URL, куда идёт "переадресация" и что при этом отображается.

И так у нас есть каталог нашего движка где изначально был файл URL следующего содержания:

Заметили тут есть путь admin/, по которому мы заходили на админку.
Заметили тут есть путь admin/, по которому мы заходили на админку.

Мы помним, что основное наше приложение blog и мы хотим отображать его на главной странице, для этого нам надо связать наше приложение с движком уже не на уровне настроек, где мы только регистрировали приложение, а на уровне "маршрутизации". Создаём в нашем приложении blog точно такой же файл urls.py.

В файле SchoolU2B/urls.py связываем эти 2 файла через функцию include.

-3

urlpatterns это список ссылок, которые будут использоваться в нашем блоге. И в этом файле мы указали что если пользователь заходит на главную страницу в нашем случае это http://127.0.0.1:8000/ он попадает в файл blogs/urls.py

Переходим в blogs/urls.py:

Здесь мы должны что-то пользователю показать, то есть отдать какой-то HTML-файл в браузер, потому что, запрашивая адрес сайта, он ожидает что-то увидеть. За отображение у нас отвечают представления views.py.

И так "свяжем" файл blogs/urls.py с файлом blogs/views.py

Для начала делаем необходимые импорты.

  • from django.urls import path - функция Django для url
  • from . import views - импортируем все содержимое файла views.py

Переходи в blogs/views.py:

Импортируем функцию render - это наш отрисовщик в Django.
Создаем функцию post_list с аргументом request:

-4

Собственно эта функция возвращает(return) нам отрисованный(render) html файл, к которому делает запрос пользователь(request).
Сам HTML файл нам надо создать по пути: blog/templates/blog/post_list.html - и пусть он пока будет пустой.

Переходим в blogs/urls.py:

Связываем urls, views, html

-5

И так что происходит. Пользователь переходит на главную страницу нашего блога. Далее:

1) Попадает в файл SchoolU2B/urls.py
2) Далее движок, видя что в адресной строке указана главная страница, переходит в файл
blog/urls.py
3) Здесь в путях path он открывает импортированную функцию из файла
blog/views.py которая называется post_list
4) Функции post_list возвращает нам html файл post_list.html, который в настоящее время пока пуст.

Если всё сделали правильно попробуйте добавить в HTML какие-нибудь теги и записи, запустите сервер и посмотрите, что получилось

python manage.py runserver.

Спасибо за внимание, учим Django вместе.