Регулярные выражения не разрешаются после использования re_path в урлах django
У меня проблема с урлами Django:
main urls.py
from django.contrib import admin
from django.urls import include, re_path, path
urlpatterns = [
path('admin/', admin.site.urls),
re_path(r'^', include('tutorials.urls')),
]
tutorials/urls.py
from django.urls import re_path
from tutorials import views
urlpatterns = [
re_path(r'^api/tutorials$', views.tutorial_list),
re_path(r'^api/tutorials/(?P<pk>[0-9]+)$', views.tutorial_detail),
re_path(r'^api/tutorials/published$', views.tutorial_list_published)
]
когда я проверяю API через браузер после python manage.py runserver
я получаю:
Похоже, что регулярные выражения не разрешены? Есть идеи?
Вы запросили URL "http://127.0.0.1:8080/api". Ваш urlpatterns не содержит ни одного пути, который мог бы соответствовать этому URL. Я не знаю, куда вы хотите пойти с этим URL, но если вы добавите
path('api', views.tutorial_list),
В списке urlpatterns вы перейдете к представлению tutorial_list, например.
Вам не нужно использовать re_path для пути без регулярного выражения. просто используйте функцию path.