Skip to main content
 首页 » 编程设计

python之Django 在渲染中传递多个变量

2025年05月04日25leader

我正在尝试在 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}) 

应该这样做。