Contoh Django REST framework 2 tidak berfungsi

Saya sedang mengerjakan contoh pertama dari kerangka kerja Django REST (versi 2). Saya telah mengikuti instruksi Instalasi dan Contoh hingga benar tetapi ketika saya membuka API di browser saya di http://127.0.0.1:8000/ sesuai instruksi mereka, saya mendapatkan kesalahan seperti di bawah ini. Apa yang saya lakukan salah? Contoh ini tampaknya cukup mendasar.

    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 sumber
comment
Versi Django apa yang Anda gunakan? Saya baru saja menerbitkan jawaban yang mungkin (dengan asumsi Anda menggunakan Django 2.x) semoga membantu.   -  person Carlos Parra    schedule 04.04.2018
comment
Saya menggunakan Django 1.84 (itulah sebabnya saya menggunakan kerangka versi 2).   -  person Jim    schedule 04.04.2018


Jawaban (2)


Jika Anda menggunakan Django 2.x untuk mengikuti tutorial itu, saya khawatir itu tidak diperbarui. Saya baru saja melakukan apa yang dikatakan tutorialnya, dan pada percobaan pertama gagal.

Kemudian, saya mengubah file urls.py saya sebagai berikut:

sebelum:

path('admin/', admin.site.urls),
    path(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    path(r'^', include(router.urls)),

Setelah:

path('admin/', admin.site.urls),
    path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    path('', include(router.urls)),

dan kemudian melakukan python manage.py runserver, dan itu berfungsi dengan baik.

person Carlos Parra    schedule 04.04.2018

Anda belum menentukan url utama, harus menentukan url indeks seperti ini:

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/ tidak ada di pola url Anda, itulah yang Django katakan kepada Anda.

untuk bekerja dalam kerangka Django rest Anda harus mengikuti flowjob berikutnya:

  • buat model Anda
  • buat serializer untuk model Anda
  • buat tampilan ApiView, ViewSet atau Django di mana Anda menggunakan serializer Anda untuk menanggapi permintaan pengguna.
  • daftarkan pandangan Anda di urlpattern Anda

jika Anda ingin memasukkan URL login kerangka lainnya gunakan pathlocalhost:8000/api-auth

person Gytree    schedule 04.04.2018