Django REST框架2示例不工作
我正在处理(版本2)的第一个示例。我严格按照安装说明和示例说明进行了操作,但是当我在浏览器中按照他们的说明打开API时,出现了如下所示的错误。我做错了什么?这个例子似乎很简单Django REST框架2示例不工作,django,django-rest-framework,Django,Django Rest Framework,我正在处理(版本2)的第一个示例。我严格按照安装说明和示例说明进行了操作,但是当我在浏览器中按照他们的说明打开API时,出现了如下所示的错误。我做错了什么?这个例子似乎很简单 Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/ Using the URLconf defined in conf.urls, Django tried these URL pat
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/
Using the URLconf defined in conf.urls, Django tried these URL patterns, in this order:
^admin/
^api-auth/
The current URL, , didn't match any of these.
您没有定义主url,必须定义如下所示的索引url:
urlpatterns = [
path('index', views.index, name='index'),
# the next path cath the empty path url www.example.com
re_path('/?$', views.index)
]
urlhttp://127.0.0.1:8000/
在您的URL模式中不存在,django就是这么告诉您的
要在django rest框架中工作,必须遵循下一个flowjob:
- 创建您的模型
- 为您的模型创建序列化程序
- 创建ApiView、ViewSet或Django视图,在其中使用序列化程序响应用户请求
- 在URL模式中注册视图
如果您想在rest框架中输入登录URL,请使用路径
localhost:8000/api auth
如果您正在使用Django 2.x来学习该教程,恐怕它没有更新。我只是完全按照教程所说的做了,第一次尝试就失败了
然后,我更改了我的URL.py文件,如下所示:
之前:
path('admin/', admin.site.urls),
path(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
path(r'^', include(router.urls)),
之后:
path('admin/', admin.site.urls),
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
path('', include(router.urls)),
然后做了
python manage.py runserver
,它工作正常。您使用的是哪个版本的Django?我只是发布了一个可能的答案(假设您使用的是Django 2.x),希望它能有所帮助。我使用的是Django 1.84(这就是为什么我使用框架的版本2)。