Проекты и приложения
Часть раздела Основы Django путешествия по Django на Coddy. Урок 4 из 23.
В приложении menu появилась новая страница «Часы работы», указанная в menu/urls.py, но по адресу /hours/ отображается страница не найдена, потому что проект вообще не читает этот файл.
Проект Django — это весь сайт: в mysite/ находятся его настройки и основной URLconf. Приложение — это часть сайта со своими представлениями и URL-адресами, здесь это menu/. На компьютере команда python manage.py startapp menu создаёт приложение.
Проект передаёт часть адреса приложению с помощью include():
from django.urls import include, path
urlpatterns = [
path("shop/", include("shop.urls")),
]Django сопоставляет начало адреса — shop/, а затем передаёт оставшуюся часть в shop/urls.py. Тогда маршрут "cart/" из этого файла доступен по адресу /shop/cart/. Префиксом может быть любой текст, даже пустой.
Задание
ЛегкоНастрой проект так, чтобы он передавал обработку адресов приложению меню.
- В
mysite/urls.pyимпортируйincludeрядом сpath. - Замени два маршрута одним маршрутом, который подключает
menu.urls. Укажи для него пустой префикс"", чтобы/и/about/остались там же.
Открой /hours/ и /about/: оба по-прежнему работают.
Попробуйте сами
from django.urls import path
from menu import views
urlpatterns = [
path("", views.home),
path("about/", views.about),
]
Все уроки раздела Основы Django
1Ваш первый сайт на Django
Привет, DjangoВторая страница4Макеты и статические файлы
Наследование шаблоновЗаголовок для каждой страницыПотренируйтесь самостоятельно: Песочница Django