我正在开发一个包含表单的 django 应用程序。 我定义了 model 并进行了迁移。 但是数据没有保存到数据库中。 当我使用提交表单时,应用程序的 URL 会搞砸。 到目前为止,这是我的代码模型.py forms.py 视图.py 索引.html 当我尝试提交表单时,这发生在 url 这些是我 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我正在尝试创建一个自定义表单,例如用户也可以在其中输入他的姓名,但我遇到了一个问题,当注册完成时,名称没有保存,我无法在模板上显示它。 这是代码:
视图.py
def sign_up(request):
form = forms.SignUpForm()
if request.method == 'POST':
form = forms.SignUpForm(request.POST)
if form.is_valid():
email = form.cleaned_data.get('email').lower()
user = form.save(commit=False)
user.username = email
user.save()
login(request, user)
return redirect('/')
return render(request, 'sign_up.html', {
'form': form
})
forms.py
class SignUpForm(UserCreationForm):
email = forms.EmailField(max_length=250)
first_name = forms.CharField(max_length=150)
last_name = forms.CharField(max_length=150)
class Meta:
model = User
fields = ('email', 'first_name', 'last_name', 'password1', 'password2')
def clean_email(self):
email = self.cleaned_data['email'].lower()
if User.objects.filter(email=email):
raise ValidationError("This email address already exists.")
return email
sign_up.html
<form method="POST">
{% csrf_token %}
{% bootstrap_form form %}
<button type="submit" class="btn btn-warning btn-block">Sign Up</button>
<p class="text-center mt-3" >
Already have an account? <a href="/sign-in/?next={{ request.GET.next }}"><b>Sign In</b></a>
</p>
</form>
html 还向我显示了用户名,我想删除并使用 email 地址登录。 但是没有任何东西保存在数据库中......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.