Не удается заставить ссылки работать в проекте Django

Library/urls.py|
urlpatterns = [
   path('admin/', admin.site.urls),
   path('catalog/',include('catalog.urls')),
   path('',RedirectView.as_view(url='catalog/')),
   path('accounts/', include('django.contrib.auth.urls')),


|Catalog/URL.PY|
urlpatterns = [
   path('',views.index,name='index'),
   path('',views.memb,name='memb'),
   path('create_book/',views.BookCreate.as_view(),name='create_book'),
   path('book/<int:pk>/',views.BookDetail.as_view(), name='book_detail'),
   path('my_view/',views.my_view, name='my_view'),

|Catalog/View|
   def memb(request):
      return render(request, 'memb.html',context=context)

|Catalog/index.html|
   <a href="memb.html">MEMBERS</a>

|Catalog/memb.html|
  <li><a href="#news">News</a></li> Next menu option.


|ERROR|

Страница не найдена (404) Метод запроса: GET URL запроса: http://127.0.0.1:8000/catalog/memb.html. Используя URLconf, определенный в library.urls, Django попробовал эти шаблоны URL, в таком порядке: admin/ catalog/ [name='index'] catalog/ [name='memb'] catalog/ create_book/ [name='create_book'] catalog/ book/int:pk/ [name='book_detail'] catalog/ my_view/ [name='my_view'] счета/ Текущий путь, catalog/memb.html, не соответствует ни одному из этих путей.

Вы видите эту ошибку, потому что в файле настроек Django у вас стоит DEBUG = True. Измените это значение на False, и Django отобразит стандартную страницу 404

Говорит Запрос URL: http://127.0.0.1:8000/catalog/memb.html НЕ НАЙДЕН!

Почему он не соответствует пути: catalog/ [name='memb'] в URLS?

Я пробовал с .html и без него, разные варианты выбора имени, что угодно.

Помогите пожалуйста....Stuck!!!!!

Может ли это быть какой-то конфликт с Admin?

Пробовал прямые html ссылки... тот же эффект???

Конфликт возникает между этими двумя шаблонами (для данного URL: http://127.0.0.1:8000/catalog/):

path('',views.index,name='index'),
path('',views.memb,name='memb'),

Попробуйте это:

|Catalog/URL.PY|
urlpatterns = [
   path('',views.index, name='index'),
   path('memb/',views.memb, name='memb'), 
   path('create_book/',views.BookCreate.as_view(),name='create_book'),
   path('book/<int:pk>/',views.BookDetail.as_view(), name='book_detail'),
   path('my_view/',views.my_view, name='my_view'),

Теперь измените свой шаблон:

|Catalog/index.html|
   <a href="{% url 'memb' %}">MEMBERS</a>

В django вам не нужно вставлять html имя файла в URL, а просто путь, который вы зарегистрировали в urls.py.

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