所以我有一个'Books'网页,您可以选择登录。登录后,我希望用户再次重定向到该'Books'网页,而不是首页。 这是我在views.py中的登录功能如下:
def loginPage(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
# check if user is authenticated
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect('home')
else:
messages.info(request, 'Username OR password is incorrect')
response = {}
return render(request, 'login.html', response)
“我的图书”模板上的登录按钮如下所示:
<div class="alert alert-secondary" role="alert">
<h5 class="display-5">Are you not signed in?</h5>
<a href="{% url 'login' %}"><button href="{% url 'login' %}" class="btn btn-large waves-effect waves-light grey darken-4">Login</button></a>
</div>
这是登录表单的样子:
<div class="d-flex justify-content-center form_container">
<form method="POST" action=""> -->
{% csrf_token %}
<div class="input-group mb-3">
<div class="input-group-append">
<span class="input-group-text"><i class="fas fa-user"></i></span>
</div>
<input type="text" name="username" placeholder="Username..." class="form-control">
</div>
<div class="input-group mb-2">
<div class="input-group-append">
<span class="input-group-text"><i class="fas fa-key"></i></span>
</div>
<input type="password" name="password" placeholder="Password..." class="form-control">
</div>
<div class="d-flex justify-content-center mt-3 login_container">
<input class="btn login_btn" type="submit" value="Login">
</div>
</form>
</div>
我一直在查看有关如何执行此操作的文章,但是他们一直在执行此操作,前提是假设用户必须先经过身份验证才能访问网页。就我而言,用户是否登录是可选的-当他们登录时,他们将被重定向。
顺便说一句,我也尝试在模板上添加整个“ request.GET.next”内容,但是似乎都没有用。
任何帮助将不胜感激!