对于一个网站来说,比较好的用户体验是登录、注册和注销后跳转回用户之前访问的页面。
在登录和注销的视图函数中,Django 已经为我们处理了跳转回用户之前访问页面的流程。
其实现的原理是,在登录和注销的流程中,始终传递一个 next 参数记录用户之前访问页面的 URL。
我们需要做的就是在用户访问登录或者注销的页面时,在 URL 中传递一个 next 参数给视图函数,具体做法如下:
<li class="cl-effect-11"><a href="{% url 'logout' %}" data-hover="退出">退出</a></li> {% else %} <li class="cl-effect-11"><a href="{% url 'login' %}" data-hover="登陆">登陆</a></li> <li class="cl-effect-11"><a href="{% url 'users:register' %}?next={ { request.path }}" data-hover="注册">注册</a></li> {% endif %}可以看到,我们在登录和注销的 URL 后加了 next 参数,其值为 { { request.path }}。request.path

本文介绍了如何在Django中实现登录、注册和注销后跳转回用户之前的页面,提供良好的用户体验。Django默认处理登录和注销的跳转,通过next参数记录用户URL。在登录表单中增加隐藏input传递next值,确保登录成功后能返回原页面。对于注册,需自定义视图函数来获取并处理跳转地址。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



