Django REST框架2示例不工作

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

我正在处理(版本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 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)
]
url
http://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)。