Корректно ли указывать так адреса в корневом urls.py?

Допустим, запрос идёт на адрес localhost:8000/main/ Я правильно понимаю, что в любом случае Django пойдёт в первое приложение, поищет main/, не найдёт. Потом пойдёт во второе и там найдёт. Корректно ли так писать? Практикуется ли такой код?

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('one.urls')),
    path('', include('two.urls')),
]

Ответы (1 шт):

Автор решения: Za Ars

Если разные приложения то да. Но вы должны учитывать, что если под шаблон пойдут все варианты строк, то все что ниже не будет работать.

Поэтому урлы на основе определения объекта по slug располагают в самом конце или с префиксом.

path('', include([
    path('test/', .....),
    path('<slug:slug>/', ....), # все ниже не отработает, так как под  весь шаблон попадет `slug`
    path('<int:pk>/', ...)
]),
path('', include([
    path('test2/', .....),
    path('test-<int:pk>/', ...)
]),

Вам нужно следить за этим, а если используете стороннее приложение - читать документацию

→ Ссылка