我从django应用程序进行了注册,但是当我单击``提交''按钮时出现此错误:
分配前引用的本地变量'first_name'请求方法:POST请求URL:http : //127.0.0.1 :8000/accounts/register Django版本:3.1.4异常类型:UnboundLocalError异常值:
分配前引用的本地变量'first_name'异常位置:E:\ django \ Hello_world \ accounts \ views.py,第8行,在注册Python可执行文件中:C:\ Users \ Asus \ Envs \ test \ Scripts \ python.exe Python版本:3.9.0 Python路径:
[' E:\ django \ Hello_world','c:\ users \ asus \ appdata \ local \ programs \ python \ python39 \ python39.zip','c:\ users \ asus \ appdata \ local \ programs \ python \ python39 \ DLLs ','c:\ users \ asus \ appdata \ local \ programs \ python \ python39 \ lib','c:\ users \ asus \ appdata \ local \ programs \ python \ python39','C:\ Users \ Asus \ Envs \ test”,“ C:\ Users \ Asus \ Envs \ test \ lib \ site-packages']
我的代码是
views.py
def register(request):
if request.method == 'POST':
first_name = request.POST[first_name]
last_name = request.POST[last_name]
username = request.POST[username]
email = request.POST[email]
password1 = request.POST[password1]
password2 = request.POST[password2]
user = User.objects.create_user(username=username, email=email, password=password1, first_name=first_name, last_name=last_name)
user.save();
print('user created successfully')
return redirect('/')
else:
return render(request, 'register.html')
和html文件是:
register.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Registration</title>
</head>
<body>
<form action="register" method="post">
{% csrf_token %}
<input type="text" name = 'first_name' placeholder="First Name"><br>
<input type="text" name = 'last_name' placeholder="Last Name"><br>
<input type="text" name = 'username' placeholder="Username"><br>
<input type="email" name = 'email' placeholder="E-mail"><br>
<input type="password" name = 'password1' placeholder="Password"><br>
<input type="password" name = 'password2' placeholder="Confirm Password"><br>
<input type="submit">
</form>
</body>
</html>
您忘记在字典键周围加上引号。将代码更改为此:
first_name = request.POST['first_name']
last_name = request.POST['last_name']
username = request.POST['username']
email = request.POST['email']
password1 = request.POST['password1']
password2 = request.POST['password2']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句