Django Путь к ресурсному сбою? - PullRequest
0 голосов
/ 04 июня 2018

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

Why is this happening, shouldn't it match?

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 Ответ

0 голосов
/ 04 июня 2018

У вас также должна быть одна запись 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()
    ),
...