Python UnboundLocalError异常值:赋值前引用的局部变量“first_name”
//views.py 从django.shortcuts导入渲染,重定向 从.models导入插入用户Python UnboundLocalError异常值:赋值前引用的局部变量“first_name”,python,django,model,mysql-error-1064,Python,Django,Model,Mysql Error 1064,//views.py 从django.shortcuts导入渲染,重定向 从.models导入插入用户 def index(request): return render(request,'backpages/index.html') def register(request): if request.method=="POST": first_name=first_name.objects.get(first_name=request.POST['first_
def index(request):
return render(request,'backpages/index.html')
def register(request):
if request.method=="POST":
first_name=first_name.objects.get(first_name=request.POST['first_name'])
email=email.objects.get(email=request.POST['email'])
password=password.objects.get(password=request.POST['password'])
user=insert_user(first_name=first_name,email=email,password=password)
user.save()
user=insert_user.objects.get(first_name=first_name,email=email,password=password)
print ("user created.")
return redirect('/')
else:
return render(request,'backpages/register.html')
在这里创建您的视图。
models.py
如果您想注册您的用户,您的视图应该如下所示
def register(request):
if request.method=="POST":
first_name=request.POST['first_name']
email=request.POST['email']
password=request.POST['password']
user= insert_user.objects.create(
first_name=first_name,
email=email)
user.set_password(password)
user.save()
print ("user created.")
return redirect('/')
return render(request,'backpages/register.html')
如果您在insert_user.objects_create中分配密码,它将以纯文本形式创建密码。您将无法使用它登录,因为django希望通过settings.py中的SECRET_密钥使用散列密码
为用户设置密码时,您应该使用。设置\u passwort'password123'欢迎使用SO。请阅读。
def register(request):
if request.method=="POST":
first_name=request.POST['first_name']
email=request.POST['email']
password=request.POST['password']
user= insert_user.objects.create(
first_name=first_name,
email=email)
user.set_password(password)
user.save()
print ("user created.")
return redirect('/')
return render(request,'backpages/register.html')