Django Путь к сбою ресурсов?

Когда я пытаюсь выполнить запрос GET на одной из моих конечных точек API, он не может найти конечную точку.

Почему это происходит, не должно ли это совпадать

Файл urls.py выглядит следующим образом

from django.urls import path, include
from django.contrib import admin
from api.resources import NoteResource

note_resource = NoteResource()

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include(note_resource.urls)),
]

api.resources выглядит так

from tastypie.resources import ModelResource
from api.models import Note

class NoteResource(ModelResource):
    class Meta:
        queryset = Note.objects.all()
        resource_name = 'note'

Есть идеи, почему это происходит?

Решение: похоже, что http://127.0.0.1:8000/api/note/ работает нормально.. с чего бы это?

1 ответ

Решение

Вы также должны иметь одну запись в URL note_resource.urls только для /api запрос. Что-то похожее

path('api/', APIClass),

Но вам никогда не понадобится эта конечная точка. Так как, /api не представляет какой-либо фактический запрос в вашей системе.

Я скорее предлагаю иметь следующие конечные точки:

path('api/notes/',include(note_resource.urls))

в твоем главном urls.py,

Так что вы можете иметь несколько URL в основном urls.py файл, представляющий каждое приложение.

 path('api/<APP_NAME>(s)/',include(<APP_NAME>.urls))

И вы будете управлять другими конечными точками в вашем app urls.py файл:

# Создать новую заметку

path(
        'create/',
        NoteCreate.as_view()
    ),
Другие вопросы по тегам