【问题标题】:'Page not found error' while creating rest-api using django rest framework使用 django rest 框架创建 rest-api 时出现“找不到页面错误”
【发布时间】:2021-02-17 11:18:46
【问题描述】:

我正确声明了 URL 模式,但如果我转到“localhost:8000/rest”URL,我会收到“找不到页面错误”。这是代码 sn-p -

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

【问题讨论】:

    标签: python-3.x django api django-rest-framework


    【解决方案1】:

    我认为您错过了 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')),
    ]
    

    【讨论】:

    • 我最后加了'/'..但还是有同样的错误。
    • 哦,是的。我已经更新了解决这个错误的答案
    【解决方案2】:

    请确保您已安装配置正确与否。

    确保您已包含 URL。 从 django.conf.urls 导入包含

    For your reference

    【讨论】:

      猜你喜欢
      • 2020-05-15
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 2021-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多