-1

当我在我的一个 API 端点上尝试 GET 请求时,它找不到端点。

为什么会发生这种情况,不应该匹配吗?

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/正常工作..为什么会这样?

4

1 回答 1

0

您还应该有一个note_resource.urls仅用于/api请求的 url 条目。类似的东西

path('api/', APIClass).

但是,您永远不需要那个端点。因为,/api不代表您系统中的任何实际请求。

我宁愿建议有以下端点:

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

在你的主要urls.py.

这样您就可以在urls.py代表每个应用程序的主文件中有多个 url。

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

而且,您将管理app urls.py文件中的其他端点:

# 创建一个新的笔记

path(
        'create/',
        NoteCreate.as_view()
    ),
于 2018-06-04T08:34:41.147 回答