- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我收到错误“.accepted_renderer not set on Response resp api django”。
我正在关注 django rest-api 教程。我使用的 Django 版本 1.8.3我按照教程直到第一部分。它工作正常。但是当我继续发送响应的第二部分时,我得到了一个错误
Cannot apply DjangoModelPermissions on a view that does not have `.queryset` property or overrides the `.get_queryset()` method.
然后我尝试了其他方法我得到了
.accepted_renderer not set on Response resp api django
请帮帮我。我认为它的权限问题。
最佳答案
您可能已在设置中将 DjangoModelPermissions
设置为默认权限类。比如:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.DjangoModelPermissions',
)
}
DjangoModelPermissions
只能应用于具有 .queryset
属性或 .get_queryset()
方法的 View 。
由于教程 2 使用 FBV,您可能需要将其转换为 CBV,或者一种简单的方法是为该 View 指定不同的权限类。您必须在 View 中使用 api_view
装饰器。然后您可以定义 permissions
如下:
from rest_framework.decorators import api_view, permission_classes
from rest_framework import permissions
@api_view([..])
@permission_classes((permissions.AllowAny,))
def my_view(request)
...
要解决渲染器错误,您需要在设置中添加相应的渲染器。
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.<corresponding_renderer>',
...
)
}
关于python - 无法在没有 `.queryset` 属性或覆盖 `.get_queryset()` 方法的 View 上应用 DjangoModelPermissions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31335736/
DjangoModelPermissions 之间有什么区别?和 DjangoObjectPermissions ? 我仍在学习 Django 和 DRF,根据文档,它们似乎做的事情完全相同。 Dja
我试图让 MongoEngine 与 Django REST 框架一起工作。通过点击此链接 Getting mongoengine and django rest framework to play
我收到以下错误 即使我的观点是压倒一切的 get_queryset() . AssertionError: Cannot apply DjangoModelPermissions on a view
我之前对我的项目有这样的看法: from rest_framework import status from rest_framework.views import APIView from rest
我正在使用 djangorestframework,我的目标是在我的 View 上使用 DjangoModelPermissions,它对 GET 请求使用react。官方文档说: The defau
我收到错误“.accepted_renderer not set on Response resp api django”。 我正在关注 django rest-api 教程。我使用的 Django
我正在使用 django 1.9.5 和 rest framework 3.x(DRF)。我刚刚遵循了官方 django rest 框架的教程,你可以说它是从 DRF 开始的,我写了以下 View ,
我是一名优秀的程序员,十分优秀!