2011-04-17 7 views
9

私は私の見解で私のフォームテンプレートと輸入RequestContextの中{% csrf_token%}ジャンゴCSRF RequestContextの

が含まれている場合、私は私の見解で何かを含めなければならないのか、CSRF保護は、単に以下のことに気を取らされます。

私に
from django.shortcuts import render_to_response 
from django import forms 
from django.http import HttpResponseRedirect 
from django.template import Template, RequestContext 
from dash.forms import GradeForm 


def register(request): 
    if request.method == 'POST': 
     form = GradeForm(data=request.POST) 
     if form.is_valid(): 
      new_dash_profile = form.save() 
      new_user = form.save() 
      return HttpResponseRedirect("/success/") 
     else: 
      form = RegisterForm() 
     return render_to_response('grade.html',{'form':form}) 

答えて

21

、最も簡単な方法は、

return render_to_response('grade.html', 
          {'form':form}, 
          context_instance=RequestContext(request)) 

render_to_response機能にRequestContextのを追加するためにこれはただ一つの可能​​性、インポートされていますあなたはどこかでcsrfトークンを処理する必要があり、RequestContextはそれを行います。

他の可能性は、手動でIRを行うことです。

from django.core.context_processors import csrf 

params = {} 
params.update(csrf(request)) 
return render_to_response('grade.html', params)