如何在Django中接收POST数据,应该使用django表单还是Django REST框架?

时间:2013-12-08 13:14:05

标签: django

我不熟悉django。我不知道django表单和Django REST框架之间的区别。

谢谢!

1 个答案:

答案 0 :(得分:1)

Django REST Framework是用于创建REST API的框架。 Django forms是Django中的一个实用程序,可以在您的网站上轻松创建表单并验证输入。

两者都可以使用POST数据。普通视图也可以接收POST数据request.POST是一个字典,其中所有键和值都通过POST发送。 Django表单或Django REST Framework的额外好处是它可以自动化你想要对POST数据做什么。

据说Django REST Framework主要用于创建供其他应用程序使用的API,例如:移动应用程序,Web服务等。 例如,如果您正在撰写论坛,评论或“联系我”页面,您将使用Django表单。

你使用哪一个完全取决于你正在做什么。此外,在我看来,Django REST框架比许多任务的常规表单更难处理。因此,如果您正在学习它,请从Django表单开始。

要回答标题中的第一个问题,“如何在Django中接收POST数据”,以下示例应该足够了:

def contactview(request):
    if request.method == 'POST':
        msg = request.POST.get('message')
        sender = request.POST.get('email')
        send_email('contact@example.com', msg=msg, reply_to=sender)
        return render(request, 'contactsend.html')
    return render(request, 'contactform.html')

示例中可能存在一个小错误,它是从内存中写入的,因此请记住,这不是完全复制+粘贴,而是工作代码。