gpt4 book ai didi

django - 渲染窗体 ViewSet Django Rest 框架

转载 作者:行者123 更新时间:2023-12-04 19:34:50 26 4
gpt4 key购买 nike

我想做以下事情:

用我的模型

class User(models.Model):
id = models.AutoField(primary_key=True)
field1 = models.CharField(max_length=100)
fk1 = models.ForeignKey(Group)
goes on

在此之后,我创建了我的序列化程序,它看起来像:
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = UserSerializer
fields = (...)

...

最后,我创建了我的 ViewSet,它应该是这样的:
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer

但是现在,我如何能够创建一个 View 集,例如,用我的类(class)生成一个表单?我的最终想法是能够执行以下操作:
def my_view(request):
my_form = UserViewSet.as_view({'get': 'list'}(request))
# from here either to be able to use .render().content
# or, inside the template, render with {% render_form my_form %}

这可能吗?谢谢

最佳答案

你的建议是可能的,但通常没有意义。 Django Rest Framework 非常适合创建 API,以便您可以向该 API 发送和接收信息,可能是 JSON 格式。

获取表单涉及从服务器获取呈现的 HTML。这对 Django 本身来说是一个更好的任务。您可以使用 CreateView 做你想做的事:

def UserCreateView(CreateView):
model = User
form_class = "name_of_your_form.html" # Or you could call the form 'user_create_form.html` and leave this line out.
fields = [...]

根据文档,您的表单将在您的模板中可用:
<form action="" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Save" />
</form>

关于django - 渲染窗体 ViewSet Django Rest 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41170810/

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