Als ich versuchte, bestimmte Informationen anzuzeigen, indem ich auf die API von Django REST Framework (DRF) aus Nuxt.js drückte, wurde Not Found im Protokoll auf der Django-Seite angezeigt.
Zunächst dachte ich, es sei ein Problem auf der Django-Seite, also habe ich es einmal auf der DRF-Konsole überprüft, aber die Daten sind vorhanden und können angezeigt werden. Es ist eine einfache Sache, aber ich habe versehentlich einen Fehler gemacht, deshalb lasse ich es für alle Fälle als Artikel.
Wenn aufgrund der oben genannten Voraussetzungen nicht gefunden wird, haben Sie beim Festlegen des Einstiegspunkts einen Fehler gemacht.
Erstens ist dies eine Voraussetzung, aber wenn in Djangos Routing eine andere als die in urls.py beschriebene URL eingegeben wird, wird sie bedingungslos nicht gefunden, wenn die 404-Fehlerbehandlung nicht durchgeführt wird. Daher besteht eine hohe Wahrscheinlichkeit, dass die Beschreibung des auf der Seite Nuxt.js aufgerufenen Einstiegspunkts falsch ist.
Zum Beispiel
async asyncData ({ $axios, params }) {
try {
const user = await $axios.$get('user')
return { user }
} catch (e) {
return { user: [] }
}
Wenn Sie versuchen, Daten in Form von, in urls.py des Projekts auf der Django-Seite abzurufen
urls.py
urlspatterns = [
path('api/',include('sample.urls')),
]
Und schreibe
sample/urls.py
urlspatterns = [
path('user/',UserListView.as_view()),
]
Sie müssen in einem Format wie diesem schreiben. Dies liegt daran, dass Sie die Daten von "Benutzer" ohne GET nicht von der Adresse wie "API / Benutzer" abrufen können, z. B. wie DRF geschrieben wird. Daher muss Nuxt.js auch so schreiben, dass es dem Routing auf der Django-Seite entspricht.
Es ist einfach, aber wenn Sie das Front-End und das Back-End trennen und den API-Server von außen treffen, ist es leicht, ihn zu übersehen. Zumindest diesmal war ich ein bisschen süchtig danach. Ich bin froh, dass ich das Routing in dieser Angelegenheit besser verstanden habe als zuvor.
Ich hoffe dieser Artikel hilft jemandem.
Recommended Posts