Я сделал @login_required для сообщения в блоге, поэтому пользователь должен войти в систему, чтобы увидеть его, но, похоже, он входит, но страница, которая появляется, пуста.Однако, когда я смотрю на URL, он говорит, что я на странице.например, "http://127.0.0.1:8000/accounts/login/?next=/payment/" Также, когда я возвращаюсь с этой страницы, я вошел в систему
Я пытался в представлении, если user: login (request, user) возвращает HttpResponseRedirect (request.POST.get ('next'))
и добавлено
в login.html
Login.html
{% block content %}
<div style="max-width: 300px; margin: auto;">
<h2 style="text-align: center; font-size: 45px;">Login</h2>
<form class="site-form" method="post">
{% csrf_token %}
{{ form.as_p}}
<input type="hidden" name="next" value="{{ next }}">
<button type="submit" style="background: #FC5C00; border: 0; color: #fff; font-size: 1.3em; display: block;margin: 0 auto;">Login</button>
</form>
</div>
{% endblock content %}
views.py
def login_view(request):
if request.method == 'POST':
form = AuthenticationForm(data=request.POST)
if form.is_valid():
#login user
user = form.get_user()
login(request,user)
if user:
login(request, user)
return HttpResponseRedirect(request.POST.get('next'))
return redirect('/')
else:
form = AuthenticationForm()
return render(request,'accounts/login.html',{'form':form})
просмотр блога
@login_required(login_url='/accounts/login/')
def blog_detail(request, slug):
#return HttpResponse(slug)#Return the slug urls for the detail pages
blog = Blog.objects.get(slug=slug)
return render(request, 'blog/blog_detail.html', {'blog':blog})
Все, что мне нужно, это войти на страницу с тегом @login_required и показать страницу после входа в систему
Спасибо