我正确地声明了URL模式,但如果我去'localhost:8000/rest' URL,我会得到'Page Not Found error'。下面是代码片段-
from myspace import views
from rest_framework import routers
from rest_api import views as rest_api_views
router = routers.DefaultRouter()
router.register(r'post', rest_api_views.GetEntryViewSet)
urlpatterns = [
path('admin/', admin.site.urls),
path('rest/',include('rest_framework.urls', namespace='rest_framework')),
path('', include('myspace.urls')),
]
我想你错过了url中的'/'。尝试localhost:8000/rest/
另外,我认为你需要更新urlpatterns
中的' rest/'路径#current
path('rest/',include('rest_framework.urls', namespace='rest_framework')),
#updated
path('rest/', router.urls)
这是因为当前您指向的是rest_frameworks.urls
而不是实际的url。
另外,你可以在rest_api
应用程序中创建urls.py
文件,并将与其他应用程序相关的路由器移动到该文件中。
# rest_api/urls.py
from rest_framework import routers
from rest_api import views as rest_api_views
router = routers.DefaultRouter()
router.register(r'post', rest_api_views.GetEntryViewSet)
urlpatterns = router.urls
现在在项目的urls.py
中使用这个文件。
from myspace import views
urlpatterns = [
path('admin/', admin.site.urls),
path('rest/',include('rest_api.urls', namespace='rest_api')),
path('', include('myspace.urls')),
]
请确保您已安装配置和
确保包含了URL。从django.conf.urls中导入include
供参考