Django - ссылки на url из разных приложений перенаправляют на одни и те же ссылки
У меня есть три приложения в проекте, которые имеют разные шаблоны с разными URL, но если я перехожу на страницу шаблона какого-то приложения, то ссылки на этой странице показывают URL другого приложения, в то время как у меня есть разные приложения с разными URL именами
Когда я изменил название файлов шаблонов каждого приложения, все работает нормально.
Пожалуйста, подскажите решение, в чем проблема получить файл с тем же именем в другом приложении. Спасибо
Admin App
urlpatterns = [
path('login', views.login, name='admin_login'),
path('register', views.register, name='admin_register'),
path('logout', views.logout, name='admin_logout'),
path('dashboard', views.dashboard, name='admin_dashboard')
]
templates
----pages
------login.html
------register.html
Приложение для клиентов
urlpatterns = [
path('login', views.login, name='customer_login'),
path('register', views.register, name='customer_register'),
path('logout', views.logout, name='customer_logout'),
path('dashboard', views.dashboard, name='customer_dashboard')
]
templates
----pages
------login.html
------register.html
Когда я перешел на
templates
----pages
------customer_login.html
------customer_register.html
Затем работает, но я не могу найти проблему, почему выдает этот тип ошибки, в то время как у меня есть другое приложение с разными vies, шаблонами, URL и именем пути, куда я перенаправляю.
Заранее спасибо
Это связано с порядком, в котором Django сканирует шаблоны url, чтобы найти совпадение и вызвать соответствующее представление.
Если вы действительно хотите сохранить этот дизайн, вам придется сделать это следующим образом:
adminapp/templates
-----adminapp
--------pages
---------login.html
etc.
поэтому внутри вашего шаблонного каталога каждого приложения добавьте еще один уровень каталога, названный по имени приложения. Так вы обеспечите, что Django выберет правильный шаблон.