Eva*_*611 9 django django-templates django-forms
如果我{% csrf_token%}在我的表单模板中包含 并在我的视图中导入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})
Run Code Online (Sandbox Code Playgroud)
fce*_*uti 21
对我来说,最简单的方法是向render_to_response函数添加RequestContext
return render_to_response('grade.html',
{'form':form},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
这只是一种可能性,重要的是你应该在某处处理csrf令牌,而RequestContext就是这样做的.
另一种可能性是手动执行:
from django.core.context_processors import csrf
params = {}
params.update(csrf(request))
return render_to_response('grade.html', params)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7777 次 |
| 最近记录: |