我正在try 访问Django app(abcd)中定义的URL.

应用程序:

INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    'rest_framework',
    "abcd",
]

urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path("admin/", admin.site.urls), path('', include('abcd.urls'))
]

abcd.urls

from rest_framework import routers

from abcd import views

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet, 'users')
router.register(r'groups', views.GroupViewSet, 'groups')
urlpatterns = router.urls

views.py

from rest_framework.viewsets import ViewSet


class UserViewSet(ViewSet):
    pass


class GroupViewSet(ViewSet):
    pass

每当我try 访问:http://localhost:8000/users或http://localhost:8000/groups,时,我都会得到一个404.

Edit

出于某种模糊的原因,每当我执行以下操作时,URL都会被解析:

class UserViewSet(ViewSet):
    def list(self, request):
        pass

class GroupViewSet(ViewSet):
    def list(self, request):
        pass

推荐答案

DefaultRouter根据ViewSet上可用的方法为ViewSet生成路由. ViewSet类不提供任何方法处理程序,如.get().post(),而是提供操作,如.list().create().See the full mapping here. [django-rest-framework.org]

因为你的ViewSet没有任何方法,get请求将返回一个404状态代码和状态文本—Not Found.

Python相关问答推荐

Class_weight参数不影响RandomForestClassifier不平衡数据集中的结果

使用plotnine和Python构建地块

acme错误-Veritas错误:模块收件箱没有属性linear_util'

不理解Value错误:在Python中使用迭代对象设置时必须具有相等的len键和值

Pandas - groupby字符串字段并按时间范围 Select

基于字符串匹配条件合并两个帧

利用Selenium和Beautiful Soup实现Web抓取JavaScript表

创建可序列化数据模型的最佳方法

当点击tkinter菜单而不是菜单选项时,如何执行命令?

Python中的变量每次增加超过1

Python Pandas获取层次路径直到顶层管理

如何从列表框中 Select 而不出错?

在matplotlib中删除子图之间的间隙_mosaic

基于形状而非距离的两个numpy数组相似性

干燥化与列姆化的比较

通过追加列表以极向聚合

如何在GEKKO中使用复共轭物

Django抛出重复的键值违反唯一约束错误

一维不匹配两个数组上的广义ufunc

Groupby并在组内比较单独行上的两个时间戳