django-rest-framework - 可浏览API中的自动生成形式?

w--*_*w-- 11 forms django-models python-2.7 django-rest-framework

不确定我是否使用了正确的词汇.在django-rest-framework免费提供的可浏览api中,我想知道是否有一种方法可以自动生成类似于我们定义ModelForms的表单.这将允许我们在某些情况下更容易测试API的输入.我目前正在使用ModelSerializers和通用视图APIView,以防万一.

我已经阅读了文档(此时已多次),但在任何地方都没有看到它.

截图

Tom*_*tie 18

如果您正在使用基于类的通用视图,那么您将免费获得该视图.尝试http://restframework.herokuapp.com上的实时教程,以其中一个用户身份登录,以便您可以创建一些代码段.例如user:'max',密码:'max'.

子类化GenericAPIView和设置a的任何视图serializer_class都会获得该行为,因为REST框架可以确定表单应该是什么样子.

例如:

表单输入的屏幕截图

(注意屏幕截图底部的表格输入)

如果您只是在工作,APIView您将获得通用内容输入(例如json),就像您已经包含截图一样,这也很有用,但不如表单那么方便.

  • 你可以在APIView上做同样的事情.只需设置serializer_class,它将用于可浏览api中的表单 (5认同)

Chr*_*fer 6

创建一个适合您想要的表单输入字段的序列化器类,并像这样在您的 APIView 上设置它;

class MyView(APIView):
    serializer_class = MySerializer  # Used for the form in the browsable api
Run Code Online (Sandbox Code Playgroud)

这工作得很好。

基于模型的序列化器类示例:

from rest_framework import serializers

class MySerializer(serializers.ModelSerializer):
    class Meta:
        model = MyModel
Run Code Online (Sandbox Code Playgroud)