【发布时间】:2018-07-24 17:15:36
【问题描述】:
当我使用user = authenticate(username=username, email=email, password=password) 时,会创建用户但没有电子邮件。
我有一个旧项目,这段代码运行良好,但现在它在任何项目中都不起作用。
观看次数:
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login as django_login
from django.contrib.auth.forms import UserCreationForm
from .models import Profile
def signup(request):
if request.method == 'POST':
form = UserCreationForm(request.POST or None)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
email = form.cleaned_data.get('email')
password = form.cleaned_data.get('password1')
user = authenticate(username=username, email=email, password=password)
django_login(request, user)
return redirect('profile/')
form = UserCreationForm()
context = {'form': form}
return render(request, 'accounts/signup.html', context)
模板:
{% block content %}
<main>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<p>Username:</p>
<input type="text" name="username">
<p>Email:</p>
<input type="text" name="email">
<p>Password:</p>
<input type="password" name="password1">
<p>Repeat password:</p>
<input type="password" name="password2">
<p><input type="submit" value="submit"></p>
</form>
</main>
{% endblock %}
【问题讨论】: