gpt4 book ai didi

django - 如何以编程方式在另一个 View 中调用 Django Rest Framework View ?

转载 作者:行者123 更新时间:2023-11-28 19:35:38 26 4
gpt4 key购买 nike

我有以下使用 Django Rest 框架 (DRF) 构建的基于通用类的 View

class ExampleDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = Example.objects.all()
serializer_class = ExampleSerializer
renderer_classes = (JSONRenderer, TemplateHTMLRenderer)

def get(self, request, *args, **kwargs):

response = self.retrieve(request, *args, **kwargs)
if request.accepted_renderer.format == 'html':
form = ExampleForm(data=response.data)
return Response({'data': response.data, 'form': form}, template_name='example.html')

return response

此 View 允许我通过指定 format=json 或 html 从同一端点获取 JSON 数据或 HTML 表单。

我想以编程方式调用该 View 以从另一个 View 中获取呈现的 HTML 表单,以便将此表单包含在另一个包含更多内容的页面中。

最佳答案

我在文档中找到了解决方案... https://docs.djangoproject.com/en/4.1/ref/class-based-views/mixins/

提示来自他们的示例:

class AuthorDetail(View):

def get(self, request, *args, **kwargs):
view = AuthorDisplay.as_view()
return view(request, *args, **kwargs)

def post(self, request, *args, **kwargs):
view = AuthorInterest.as_view()
return view(request, *args, **kwargs)

关于django - 如何以编程方式在另一个 View 中调用 Django Rest Framework View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26790981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com