@login_required страница пуста при входе - PullRequest
0 голосов
/ 08 мая 2019

Я сделал @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 и показать страницу после входа в систему

Спасибо

...