Python 如何使用mongoengine在django中使用基本登录表单散列密码?

Python 如何使用mongoengine在django中使用基本登录表单散列密码?,python,django,mongodb,authentication,mongoengine,Python,Django,Mongodb,Authentication,Mongoengine,我正在和django和mongoengine一起做一个项目。 我想在我的项目上做一个基本的登录。 我做了一个基本的表格,要求输入用户名、密码和电子邮件。 我以为密码散列是自动的,但它不是,它保存了我写的东西。 以下是我的观点: def signin(request): if request.method == 'POST': form = UserForm(request.POST) if form.is_valid(): user

我正在和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 = User(username=username, email=email)
user.set_password(password)
user.save()