如果user.u是否经过身份验证无法登录用户djang

2024-04-23 20:47:58 发布

您现在位置:Python中文网/ 问答频道 /正文

对python和django框架完全陌生。你知道吗

试图建立一个登录/注册系统

注册后,重定向到主页,但用户未通过身份验证(始终返回false)

视图.py

def register(request):
if request.method == 'POST':
    form = SignUpForm(request.POST)
    if form.is_valid():
        form.save()
        username = form.cleaned_data.get('username')
        fullname = form.cleaned_data.get('fullname')
        password = form.cleaned_data.get('password1')
        user = authenticate(username=username, fullname=fullname, password=password)
        messages.success(request, f'Welcome to blaza {fullname}')
        if user is not None:
            login(request, user)
        return redirect('home')
else:
    form = SignUpForm()

return render(request, 'accounts/signup.html', {'form': form})

主页.html

{% extends 'base.html' %}
{% block title %} Home {% endblock %}
{% block content %}
{% if user.is_authenticated %}
Welcome, {{user.username}}!
<a href="">Logout</a>
{% else %}
<P>You are not logged in</P>
<p><a href="">Login here</a></p>
{% endif %}  
{% endblock %}

它总是返回false。”您没有登录”。你知道吗

我试过{%ifrequest.user.u是否经过身份验证%}仍然不起作用。你知道吗


Tags: form身份验证falsedatagetifisrequest
2条回答

尝试arjun的建议,但不要将请求作为参数

i‍‍s‍_authenticated是方法而不是属性。我想你忘了括号。 试试这个:

{% if request.user.is_authenticated() %}

相关问题 更多 >