有人能让我明白这到底是什么问题吗?django新手
我使用的是django==3.2 我强制执行此错误:有人能让我明白这到底是什么问题吗?django新手,django,class,django-rest-framework,Django,Class,Django Rest Framework,我使用的是django==3.2 我强制执行此错误: assertionErrorat/api/content/coordinator/read/0 request参数必须是django.http.HttpRequest的实例,而不是content\u delivery.view.coordinator.coordinator\u视图 这是我的代码: class Coordinator_View(object): @staticmethod def run(request):
assertionErrorat/api/content/coordinator/read/0
request
参数必须是django.http.HttpRequest
的实例,而不是content\u delivery.view.coordinator.coordinator\u视图
这是我的代码:
class Coordinator_View(object):
@staticmethod
def run(request):
obj = Coordinator_View()
return obj.create(request) # this is where the actual error happens
@api_view(['POST'])
def create(self, request):
...
这不是在django中处理视图的方式。您应该创建一个返回HttpResponse对象的方法。另外,请注意,“render()”函数是django用于创建HttpResponse对象的快捷方式函数。
例如:
from django.shortcuts import render
def example_view(request, *args, **kwargs):
var = 'some value'
context = {
'var': var
}
return render(request, 'template_path', context=context)
基本版本:
from django.http import HttpResponse
def other_view(request, *args, **kwargs):
return HttpResponse("some text")
此外,请确保“url.py”设置正确,您需要将django指向“url.py”内的正确视图。[solved]
我没有尝试为基于类的视图使用或创建自定义类,而是根据需求继承视图类或API_视图类。继承这些父类的所有行为会将工作量减少0.8倍。除非您真的想使用基于类的视图,在这种情况下,请忽略我的答案。但是,它要复杂得多,除非你正在创建一个非常大的项目,否则我不知道你为什么要这么做。感谢你的启发,我已经以正常的程序方式完成了这个项目,只是在尝试将它迁移到完整的OO。我会记住你的建议