【发布时间】:2021-11-05 20:12:05
【问题描述】:
我一直在研究 Django 的视图集和路由器文档,但我不知道如何设置路由以访问视图集上的方法。
例如,这里是我的 urls.py:
from rest_framework.routers import DefaultRouter
from users.views import (UserViewSet, testing)
router = DefaultRouter()
router.register(r"users", UserViewSet, basename="users")
urlpatterns = [
path('testing', testing)
]
然后这是我的用户目录中的视图文件
@csrf_exempt
class UserViewSet:
def create(self):
return JsonResponse({
'the create endpoint'
})
@csrf_exempt
def testing(request):
return JsonResponse({
"title": "My json res"
})
使用邮递员,我可以点击端点 example.com/testing 并注销 json 响应。但是,我尝试访问 example.com/users/create 并得到 404。我认为在向路由器注册视图集时 basename 属性会将该类中的所有方法分组在该路由路径下,然后是方法都将是他们自己的终点。我想错了吗?任何帮助都会很可爱,因为我是 Django 的新手。我主要完成了 Express 和 Laravel。谢谢!
【问题讨论】:
标签: python django django-rest-framework