Python Django POST问题

时间:2014-12-08 12:38:01

标签: python django

我在Django中发布数据时遇到了问题。

我在urls.py中定义了一个网址:

  url(r'^lares_conf_123kmk_$', 'lares.call_sta.my_func', name='home'),

我的函数my_func定义为:

def my_func(request):
   u = request.POST.get("parsed_news", "")
   p2 = re.compile("(VP+)\\s[(+](\\w+)\\s(\\w+)[)+]")
   my_sent = u.split("##")[:-1]
   zeta = []
   for sent in my_sent:
     m = p2.findall(sent)
     if(len(m)>=0):
         zeta = zeta + m
   return HttpResponse(str(zeta), content_type="application/x-javascript") 

现在我打电话给上面提到的网址如下:

 import requests

 payload = {"parsed_news":"Hello World"}
 response = requests.post("http://127.0.0.1:8080/lares_conf_123kmk_", data=payload)
 print response.status_code

但是我无法发布任何数据。并且状态不断显示403。

请帮助。

1 个答案:

答案 0 :(得分:2)

在我看来,就像你对Django的Cross Site Request Forgery protection犯规一样。

您可以使用csrf_exempt将视图标记为免除来测试该理论。这对于生产来说可能不是一个好主意(您可能希望启用CSRF保护),但应该允许您识别问题。