2014-12-16 4 views
0

웹 페이지를 읽는 동안 CSRF 토큰을 유지하고 나는 몇 가지 URL에 제공 :나는 부분보기가

url(r'^main.html$', PartialGroupView.as_view(template_name='main.html'), name='main') 

내가 가진 코드의 다른 곳에서 해당 URL을 읽기 위해 노력하고 있어요 :

partial = urllib2.urlopen(partial_url).read() 

는 내가 좋아하는 사용자에게 보낼보다 :

return HttpResponse(partial) 

그리고 모든 것이 잘 작동하지만, 문제는 페이지는 CSRF (T)를 포함 그런 다음 사용자가 전송 된 페이지를 가져 오면 양식을 제출하려고 시도하지만이를 수행하면 토큰이 누락되거나 잘못되었다는 오류가 표시됩니다. 1 단계에서 토큰이 올바르게 작동하는 것보다이 메서드 만 사용하여 뷰를 사용자에게 보냅니다.

이렇게하면 페이지를 읽을 때 그 토큰을 보존 할 수있는 방법이 있습니까? 아니면 csrf를 위반하지 않고 페이지를 읽을 수있는 다른 방법이 있습니까?

개인 솔루션 :

내 경우에는 내가 이것에 더 나은 방법이있을 것입니다 결정 및 URL에서 HTML을 읽기에 포기했다. 나는 부분적으로 다음과 같이이 부분을 보냅니다.

render(request, demanded_partial_name) 

로컬로 사용할 수 있기 때문에 그 부분을 보냅니다.

답변

0

가장 간단한 옵션은 here처럼 CSRF보기를 면제하도록하는 것입니다.

가장 좋은 방법은 this SO 게시물을 확인하는 것입니다. 기본적으로, URL을 인코딩 할 때 매개 변수 사전을 전달하고 그 사전에는 csrf 미들웨어 토큰이 포함됩니다.

+0

나는 결국 다른 해결책으로 변했지만, 당신의 대답은 그것을 이해하는데 도움이되었고, 그것은 유효한 접근법입니다, 감사합니다. (: – victor175

+0

다행입니다. 다른 사람이 당신이 가지고있는 것과 같은 문제로이 문제를 해결할 수있게 해 주신 해결책을 추가하는 것이 좋습니다. – ekrah