使用django rest framework创建rest-api时出现“页面未找到错误”

ryoqjall  于 2022-12-20  发布在  Go
关注(0)|答案(2)|浏览(115)

我声明了正确的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')),
]
bfnvny8b

bfnvny8b1#

您可能漏掉了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应用程序相关的路由器移动到该文件中。

# 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')),
]
xpszyzbs

xpszyzbs2#

请确保您已安装配置它是否正确。
确保你有包括这网址.从django.conf.urls导入包括
For your reference

相关问题