В django для чего используется urls.py для каждого приложения?

Я делаю проект django и узнал, что нам нужно создать urls.py файл для каждого приложения, созданного в проекте.

Может ли кто-нибудь сказать, для чего это нужно, ведь у нас есть один файл urls.py для основного проекта, разве этого не достаточно?

В основном для повторного использования, частично по организационным причинам. Отдельные файлы urls.py позволяют переносить приложения django между проектами. Если вы поставляете приложение с urls.py, то его можно легко использовать во многих различных проектах Django. Это рассматривается в разделе Reusable Apps официального руководства.

Например, сайт Admin предоставляется многоразовым приложением admin.site, которое поставляется с самим Django. Приложение admin.site поставляет свой собственный файл urls.py, поэтому вы можете легко просто добавить его к шаблонам url вашего собственного проекта.

Нравится:

urlpatterns = [
    path('admin/', admin.site.urls),
    # ...
]

Если бы у приложения admin.site не было собственного файла urls.py, это было бы невозможно.

Приложение admin - это только один пример. Существует множество приложений, которые распространяются на PyPI и устанавливаются с помощью pip.

Однако это не совсем необходимо. Как вы указали, существует файл уровня проекта urls.py. Вы можете использовать только его, если действительно хотите.

Понять urls.py несложно. Он используется для создания маршрутов в проекте.

такие маршруты как:

/home
/users etc.

Не обязательно создавать urls.py для каждого приложения. Вы можете добавить все пути приложений в urls.py в основном проекте. Это зависит от вас.

Но создание urls.py для каждого приложения выглядит хорошим форматом для понимания.

Маршруты определяют, куда вы направляетесь, переходя от одного маршрута к другому.

Помните, что каждый вид должен иметь путь в urls.py. Без этого он не появится на веб-странице.

Надеюсь, вы поняли!

Вернуться на верх