我正在尝试在 Django 渲染中传递多个变量。其中一个是 csrf token ,另一个是我的表单(因为我需要表单中的错误)出于某种原因,它们都不起作用。有帮助吗?
这是模板:
<form class = "navbar-form" action="{% url "registry.views.register" %}" onsubmit=" return ClickButton(); " method= "POST" >
{% csrf_token %}
{{ form.errors}} {{ form.non_field_errors }}
这里是 view.py:
def 注册(请求):
form_save = RegisterationForm()
if request.method == 'POST':
form = RegisterationForm(request.POST)
if form.is_valid():
user_info={}
user_info['username'] = form.cleaned_data['username']
user_info['password'] = form.cleaned_data['password']
form.save(user_info)
return render_to_response('register_success.html',user_info)
else:
form_save = form
return render_to_response('register.html',{'csrf':csrf(request),'locals':locals()})
请您参考如下方法:
为什么要手动传递 csrf? {% csrf_token %} 自动执行此操作。
此外,如果您使用任何更新版本的 Django,您可以使用 render()。
return render(request, 'register.html', {'form': form})
应该这样做。
