新功能渲染后功能的网址停留

时间:2018-01-29 11:36:06

标签: python django

我刚刚在他们的网站上完成教程后开始学习Django,我试图让我的Django网站的表单用一个字典来描述" login_error"登录尝试失败后的变量。这工作正常,但URL仍包含视图函数名称,我不想这样做。将页面重定向到自身工作正常,但我无法定义" login_error"变量

启动视图登录功能的URL:

path('login_user', views.login_user, name='login_user'),


如果登录失败,我将重新呈现页面:

return render(request, 'sign_in/sign-in.html', { 'login_error': "We couldn't find an account with that email and/or password." })


以下是我用于导航到此功能的内容:

<form class="sign_in" method="post" action="{% url 'sign-in:login_user' %}">


以下是一些图片,以帮助解释发生了什么:

  • 我提交了一个糟糕的登录信息:

  • 这是渲染后网址的一部分:

enter image description here

任何建议,链接或资源都可以指导我解决方案,因为我现在已经搜索了几个小时,但仍然无法找到与此问题相关的任何内容,谢谢!

1 个答案:

答案 0 :(得分:1)

虽然这将是主观的,但是在生成它的同一页面上显示错误消息在UX和在请求上下文之外编程处理这些消息所需的工作(例如重定向)方面具有相当大的意义。

但是,如果您的用例是必须100%重定向到另一个显示错误的页面,您可能需要查看Django的消息框架:https://docs.djangoproject.com/en/2.0/ref/contrib/messages/