2014-12-08 2 views
-1

장고에 데이터를 게시 할 때 문제가 있습니다.Python Django POST 문제

나는 하나 개의 URL urls.py에서 정의한 : 이제

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") 

나는 다음과 같이 위에서 언급 한 URL을 호출 오전 :

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

내 기능 my_func는 다음과 같이 정의되어있다

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 

하지만 POST 할 수 없습니다. 데이터가 없습니다. 상태가 지속적으로 표시됩니다.

친절히 도움.

+3

Google에서 "장고 403"을 사용하여 코드를 반환하는 이유를 확인하셨습니까? 매우 일반적인 문제입니다. –

+0

@DanielRoseman이 (가) 정렬되었습니다. 예, 저는 csrf를 완전히 잊어 버렸습니다! 감사. – user3001408

답변

2

당신이 장고의 Cross Site Request Forgery protection의 파울에 떨어지는 것처럼 보입니다.

csrf_exempt을 사용하여 뷰를 면제로 표시하여 해당 이론을 테스트 할 수 있습니다. 이는 프로덕션에는 적합하지 않지만 (CSRF 보호 기능을 켜기를 원할 것입니다.) 문제를 식별 할 수 있어야합니다.

+0

나의 나쁜, 나는 csrf 배우에 관하여 완전히 잊었다. 끝난! 고마워. – user3001408