提问者:小点点

当前路径accounts/signup/signup与这些路径中的任何一个都不匹配


你好,我面临一个问题,当试图使一个注册页面在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>

共1个答案

匿名用户

表单操作=“注册”

当表单提交时,这将不起任何作用。

您需要将其更改为注册URL。

因此,如果您的url是path('signup/',views.signup,name='signup')

您可以使用:表单操作=“{%url”sign up“%}

另一件事是您的视图似乎没有显示任何注册成功消息。当处理post时,您可能希望将它们重定向到另一个页面或包含一条成功消息。