【发布时间】:2021-03-05 05:19:47
【问题描述】:
我在 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 是主应用程序,我已经包含了子应用程序的 urls.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
在这个路径之后,当我们点击提交时,它应该在数据库中创建一个用户并将页面返回或重定向到登录页面,并创建一条消息用户。
下面是账户应用的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')
任何人都可以帮助我解决问题所在。 谢谢。
【问题讨论】:
-
http://127.0.0.1:8000/accounts/signup/signup为什么后面有两个/signup。您只创建了一个链接。 -
@asdasd 那是没有得到的,我只链接了一次注册页面,按照我的预期,它应该在创建用户后立即跳转到 login.html。出了什么问题?
-
您可以像这样将用户重定向到登录页面:
return redirect('\login')。您还可以分享您创建注册表单的模板吗?因为我认为您在模板中设置了错误的表单操作。 -
@AjayLingayat 我无法在此处添加它,它显示的字符长度为 200 个字母,我该如何显示?
-
@AjayLingayat 还是我的数据库有问题?我应该写任何查询吗?像makemigrations?
标签: python django postgresql url django-views