使用 django rest 框架创建 rest-api 时出现"页面未找到错误"



我正确地声明了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

供参考

最新更新