你好,我面临一个问题,当试图使一个注册页面在django
当我以html表单提交时,应该在数据库中创建一个用户,但它没有发生,并且显示以下消息
“当前路径accounts/signup/signup与这些路径中的任何一个都不匹配”,并且在终端中“找不到:/accounts/signup/signup”
views.py:
from django.shortcuts import render,redirect
from django.contrib.auth.models import User,auth
# Create your views here.
def signUp(request):
if request.method=='post':
first_name=request.POST['first_name']
last_name=request.POST['last_name']
username=request.POST['username']
password1=request.POST['password1']
rePassword=request.POST['repassword']
email=request.POST['email']
user = User.objects.create_user(username=username,password=password1,email=email,first_name=first_name,last_name=last_name)
user.save();
else:
return render(request,'signUp.html')
signup.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sign Up</title>
</head>
<body>
<form action="signUp" method="post">
{% csrf_token%}
<input type="text" name="first_name" placeholder="First Name"><br>
<input type="text" name="last_name" placeholder="Last Name"><br>
<input type="text" name="username" placeholder="Username"><br>
<input type="email" name="email" placeholder="email"><br>
<input type="password" name="password" placeholder="Password"><br>
<input type="password" name="rePassword" placeholder="Confirm Password"><br>
<input type="submit">
</form>
</body>
</html>
表单操作=“注册”
当表单提交时,这将不起任何作用。
您需要将其更改为注册
URL。
因此,如果您的url是path('signup/',views.signup,name='signup')
您可以使用:表单操作=“{%url”sign up“%}
另一件事是您的视图似乎没有显示任何注册成功消息。当处理post
时,您可能希望将它们重定向到另一个页面或包含一条成功消息。