版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/abc666666_6/article/details/86010133
模版中
在模版中将登陆/注册的跳转链接后添加查询字符串,将当前页面的路径一起发送过去
<a href="{% url 'user_login' %}?from={{ request.get_full_path }}">
对应的视图函数中
将获得的查询字符串拼接到根url路径就可以了
def user_login(request):
if request.method == "POST":
login_form = LoginForm(request.POST)
if login_form.is_valid():
user = login_form.cleaned_data.get("user") # 到了这里,那么肯定在LoginForm中authenticated成功
login(request, user)
# 特别注意这里,会将查询字符串拼接到反转home的路径上(这里home是根路径)
return redirect(request.GET.get("from", reverse("home")))
else:
login_form = LoginForm()
context = {}
context["login_form"] = login_form
return render(request, "login.html", context=context)