首页 > 解决方案 > Django rest-framework 创建一个没有模型的视图

问题描述

我对 Django rest-framework 很陌生,并试图渲染一个不基于模型的简单 JSON 视图。我无法弄清楚如何做到这一点,因为所有示例都涉及从模型类呈现 JSON。下面是我试图做的简单例子。

class CommentSerializer(serializers.Serializer):
    email = serializers.EmailField()
    content = serializers.CharField(max_length=200)
    created = serializers.DateTimeField()

class Comment(object):
    def __init__(self, email, content, created=None):
        self.email = email
        self.content = content
        self.created = created or datetime.now()

def comment_view(request):
    comment = Comment(email='leila@example.com', content='foo bar')
    serializer = CommentSerializer(comment)
    json = JSONRenderer().render(serializer.data)
    return json

标签: djangodjango-rest-framework

解决方案


你可以像这里一样使用它:

from rest_framework.decorators import api_view
from rest_framework.response import Response


@api_view()
def comment_view(request):
    comment = Comment(email='leila@example.com', content='foo bar')
    serializer = CommentSerializer(comment)
    return Response(serializer.data)

最后别忘了把它放在urls.py

urlpatterns = [
    path('comments/', comment_view, name='comment-view'),
]

推荐阅读