【发布时间】:2021-07-16 17:41:13
【问题描述】:
我遇到了一个奇怪的错误,我没有找到答案,这意味着我需要你的帮助(再次)。
所以,我的views.py 文件中有两个视图,我正在尝试为一个视图添加GET 和POST 方法,我尝试使用请求检查该方法。方法但休息框架工作模块告诉我没有那个属性,请你帮我解决这个问题吗? 谢谢!
在 models.py 我有:
class ChatViewSet(ConversationViewSet):
@api_view(['GET', 'POST'])
def get_chat(self, **kwargs):
if request.method == 'GET':
information = Chat.objects.all()
tutorials_serializer = ChatSerializer(information, many=True).data
return JsonResponse(tutorials_serializer, safe=False)
elif request.method == 'POST':
tutorial_data = JSONParser().parse(request)
tutorial_serializer = ChatSerializer(data=tutorial_data)
tutorial_data['status'] = 'new'
tutorial_data['chat_id'] += 1
if tutorial_serializer.is_valid():
tutorial_serializer.save()
return JsonResponse(tutorial_serializer.data,
status=status.HTTP_201_CREATED)
return JsonResponse(tutorial_serializer.errors,
status=status.HTTP_400_BAD_REQUEST)
在 urls.py 中:
urlpatterns = [
url(r'^conversation/', ConversationViewSet.get_all),
url(r'^conversation/(?P<pk>[0-9]+)$', ConversationViewSet.get_by_id),
url(r'chat', ChatViewSet.get_chat),
]
还有错误:
if request.method == 'GET':
AttributeError: module 'rest_framework.request' has no attribute 'method'
【问题讨论】:
标签: python django django-rest-framework python-requests