Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 页面未找到(404)请求方法: ;POST请求URL: ;http://127.0.0.1:8000/accounts/signup/signup_Python_Django_Postgresql_Url_Django Views - Fatal编程技术网

Python 页面未找到(404)请求方法: ;POST请求URL: ;http://127.0.0.1:8000/accounts/signup/signup

Python 页面未找到(404)请求方法: ;POST请求URL: ;http://127.0.0.1:8000/accounts/signup/signup,python,django,postgresql,url,django-views,Python,Django,Postgresql,Url,Django Views,我在Django中发现页面未找到404错误。尽管我已经在主应用程序和此应用程序中正确映射了URL urlpatterns = [ path('',views.mainpage,name='main'), path("signup/",views.signup,name='signup'), path("login/",views.login,name='login'), path("logout/",vi

我在Django中发现页面未找到404错误。尽管我已经在主应用程序和此应用程序中正确映射了URL

urlpatterns = [
    path('',views.mainpage,name='main'),
    path("signup/",views.signup,name='signup'),
    path("login/",views.login,name='login'),
    path("logout/",views.logout,name='logout')
]
现在,下面的url是主应用程序,我在其中包含了子应用程序accounts的url.py

urlpatterns = [
    path('',include('trial.urls')),
    path('accounts/',include('accounts.urls')),
    path('admin/', admin.site.urls),   
]
这是应用程序名称帐户的URL映射,用于处理帐户和注册详细信息

错误在这个路径中

http://127.0.0.1:8000/accounts/signup/signup
当它按照下面提到的路径工作时

http://127.0.0.1:8000/accounts/signup
有谁能建议我或帮我找出哪里出了问题。 应该发生的是,

http://127.0.0.1:8000/accounts/signup
在这个路径之后,当我们单击submit时,它应该在数据库中创建一个用户,并返回或重定向该页面到登录页面,同时创建一条消息user

下面是accounts应用程序的views.py代码


def signup(request):
    if request.method == 'POST':
        first_name = request.POST['first_name']
        last_name = request.POST['last_name']
        username = request.POST['username']
        email = request.POST['email']
        password1 = request.POST['password1']
        user = User.objects.create_user(
            firstname=first_name, lastname=last_name, username=username, email=email, password=password1)
        user.save()
        print("USER CREATED SUCCESSFULLY")
        return redirect('/login.html')

谁来帮我找出哪里出了问题。 谢谢。

您可以这样尝试:

signup.html

<form action="\accounts\signup\" method="POST">
   {% csrf_token %}

{%csrf_令牌%}

http://127.0.0.1:8000/accounts/signup/signup
为什么有两个尾随的
/signup
。您只创建了一个链接。@asdasd这是我没有得到的,我只链接了一次注册页面,按照我的预期,一旦创建了用户,它就会跳转到login.html。出了什么问题?您可以将用户重定向到登录页面,如下所示:
return redirect('\login')
。您还可以共享创建注册表的模板吗?因为我认为您在模板中设置了错误的表单操作。@AjayLingayat我无法将其添加到此处,它显示的字符长度为200个字母,因此如何显示?@AjayLingayat或者我的数据库有问题吗?我需要写任何查询吗?像makemigrations?
RuntimeError at/accounts/signup您通过POST调用了此URL,但URL不是以斜杠结尾,您已经设置了APPEND\u斜杠。Django在维护POST数据时无法重定向到斜杠URL。将表单更改为指向127.0.0.1:8000/accounts/signup/(注意后面的斜杠),或在Django设置中设置APPEND\u slash=False。
运行时出错。显示此错误后,我将其编辑为正斜杠,如
/accounts/signup
,如果我将其更改为
accounts/signup
page not found error,也会出现相同的错误。我已编辑了答案。查看新的
操作
属性值,它在
\accounts\signup
之后还有一个斜杠。试试看,宾果游戏,非常感谢你。我从上个星期开始尝试这个。你能看看我个人资料中的另一个问题吗,比如提交按钮不起作用,我正在使用ajax、JS、html来验证一些答案。