如何使用mongoengine在django中使用基本登录表单散列密码?
how to hash password with a basic sign in form in django with mongoengine?
我正在用 django 和 mongoengine 做一个项目。
我想对我的项目进行基本登录。
我做了一个基本表格,要求输入用户名、密码和电子邮件。
我认为密码散列是自动的,但它不是,它保存了我写的内容。
这是我的观点:
def signin(request):
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
username = form.cleaned_data['username']
email = form.cleaned_data['email']
password = form.cleaned_data['password']
user = User(username=username, password=password, email=email)
user.save()
else:
form = UserForm()
return render(request, 'myapp/index.html', locals())
一切都已保存,但密码不是哈希值。我错过了什么?
您应该调用 User 实例的 set_password() 方法:
user = User(username=username, email=email)
user.set_password(password)
user.save()
我正在用 django 和 mongoengine 做一个项目。
我想对我的项目进行基本登录。
我做了一个基本表格,要求输入用户名、密码和电子邮件。
我认为密码散列是自动的,但它不是,它保存了我写的内容。
这是我的观点:
def signin(request):
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
username = form.cleaned_data['username']
email = form.cleaned_data['email']
password = form.cleaned_data['password']
user = User(username=username, password=password, email=email)
user.save()
else:
form = UserForm()
return render(request, 'myapp/index.html', locals())
一切都已保存,但密码不是哈希值。我错过了什么?
您应该调用 User 实例的 set_password() 方法:
user = User(username=username, email=email)
user.set_password(password)
user.save()