Django中的HTTP post请求

时间:2015-03-30 18:10:37

标签: django django-csrf

我正在尝试执行以下操作:

1)支付解决方案应该发送HTTP帖子到我的网站
2)我想阅读请求的内容(xml)并更新我的记录以反映付款

我是第一次尝试这个。当我创建一个URL路径,并将帖子发送到该地址时,我得到了csrf错误。

有没有办法使用Django我可以接受帖子而不必返回响应。

由于 Tanmay

1 个答案:

答案 0 :(得分:0)

您的视图应返回http响应,否则您将收到错误消息。但是,Django不介意该响应是否包含任何内容。您的观点可以简单如下:

from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def my_view(request):
    # do something with request.POST
    return HttpResponse("")

由于是第三方提交了帖子请求,而不是用户在您的网站上提交表单,因此您可以使用csrf_exempt装饰器将视图标记为免除CSRF保护,如上所述。< / p>

请注意,任何人都可以向您的网址提交帖子请求,因此您应该通过某种方式检查回复是否为正版。您的付款解决方案应该能够以合适的方式提供建议。