首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django rest框架问题

Django rest框架问题
EN

Stack Overflow用户
提问于 2018-09-04 01:41:21
回答 2查看 107关注 0票数 0

下面是我的代码:

代码语言:javascript
复制
from rest_framework import routers
from rest_framework.routers import DefaultRouter

from .api import ListViewSet, CardViewSet

router = DefaultRouter()
router.register(r'lists', ListViewSet,'lists')
router.register(r'cards', CardViewSet, 'cards')

urlpatterns = router.urls

但是当我运行服务器时,我得到了这个错误:

代码语言:javascript
复制
Page not found (404) Request Method:
GET Request URL: http://localhost:8000/scrumboard/cards Using the URLconf defined in djangularApp.urls, Django tried these URL patterns, in this order:

^admin/ ^$ ^scrumboard ^lists/$ [name='lists-list'] ^scrumboard
^lists\.(?P<format>[a-z0-9]+)/?$ [name='lists-list'] ^scrumboard
^lists/(?P<pk>[^/.]+)/$ [name='lists-detail'] ^scrumboard
^lists/(?P<pk>[^/.]+)\.(?P<format>[a-z0-9]+)/?$ [name='lists-detail']
^scrumboard ^cards/$ [name='cards-list'] ^scrumboard
^cards\.(?P<format>[a-z0-9]+)/?$ [name='cards-list'] ^scrumboard
^cards/(?P<pk>[^/.]+)/$ [name='cards-detail'] ^scrumboard
^cards/(?P<pk>[^/.]+)\.(?P<format>[a-z0-9]+)/?$ [name='cards-detail']
^scrumboard ^$ [name='api-root'] ^scrumboard
^\.(?P<format>[a-z0-9]+)/?$ [name='api-root']
The current path, scrumboard/cards, didn't match any of these.

您之所以看到这个错误,是因为您的Django设置文件中有DEBUG = True。将其更改为False,Django将显示一个标准的404页面。

EN

回答 2

Stack Overflow用户

发布于 2018-09-04 02:33:51

看起来您忘记在scrumboard url后面添加一个/,很可能是在包含路由器的url的地方。这是可见的,因为^scrumboard ^cards/$应该是^scrumboard/ ^cards/$,以匹配您期望的url。

票数 0
EN

Stack Overflow用户

发布于 2018-09-04 05:26:05

您似乎还没有在您的project/urls.py中注册url

path('api/', include((router.urls), namespace='api')),

这意味着路径将以/api/cards开头

或用于/scrumboard

path('scrumboard/', include((router.urls), namespace='scrumboard')),

然后,您可以使用/scrumboard/cards

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52154260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档