Пример Django REST framework 2 не работает

Я работаю над самым первым примером структуры Django REST framework (версия 2). Я полностью выполнил инструкции по установке и примерам, но когда открываю API в своем браузере по адресу http://127.0.0.1:8000/ в соответствии с их инструкциями, я получаю сообщение об ошибке, показанное ниже. Что я делаю неправильно? Этот пример кажется довольно элементарным.

    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.

person Jim    schedule 03.04.2018    source источник
comment
Какую версию Django вы используете? Я просто публикую возможный ответ (при условии, что вы используете Django 2.x), надеюсь, он поможет.   -  person Carlos Parra    schedule 04.04.2018
comment
Я использую Django 1.84 (поэтому я использую версию 2 фреймворка).   -  person Jim    schedule 04.04.2018


Ответы (2)


Если вы используете Django 2.x для следования этому руководству, я боюсь, что он не обновлен. Я просто сделал именно то, что сказано в руководстве, и с первой попытки ничего не вышло.

Затем я изменил свой файл urls.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, и он работает нормально.

person Carlos Parra    schedule 04.04.2018

у вас не определен основной 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 вы должны выполнить следующую последовательность действий:

  • создавай свои модели
  • создать сериализатор для ваших моделей
  • создайте представление ApiView, ViewSet или Django, в котором вы используете сериализаторы для ответа на запросы пользователей.
  • зарегистрируйте свои взгляды в своем URL-шаблоне

если вы хотите ввести URL-адреса входа в rest-framework, используйте pathlocalhost:8000/api-auth

person Gytree    schedule 04.04.2018