我在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。
请帮助。
答案 0 :(得分:2)
在我看来,就像你对Django的Cross Site Request Forgery protection犯规一样。
您可以使用csrf_exempt
将视图标记为免除来测试该理论。这对于生产来说可能不是一个好主意(您可能希望启用CSRF保护),但应该允许您识别问题。