Python Django登录,模板不';无法识别已登录的用户

Python Django登录,模板不';无法识别已登录的用户,python,django,django-users,django-login,Python,Django,Django Users,Django Login,我正在编写一个处理用户自动权限的应用程序,现在我正在尝试实现这一功能 我的建议是: 登录页面模板,调用一个带有表单的html,该表单发布一篇文章以获取用户名和密码 url(r'^$', views.login_page, name='login_page'), 从登录表单调用,接收POST数据(用户名、密码)验证用户,进行登录并重定向到索引页 url(r'^auth', views.auth_user, name='auth'), 索引页,这里我们必须记录以查看其内容 url(r'^inde

我正在编写一个处理用户自动权限的应用程序,现在我正在尝试实现这一功能

我的建议是:

登录页面模板,调用一个带有表单的html,该表单发布一篇文章以获取用户名和密码

url(r'^$', views.login_page, name='login_page'),
从登录表单调用,接收POST数据(用户名、密码)验证用户,进行登录并重定向到索引页

url(r'^auth', views.auth_user, name='auth'),
索引页,这里我们必须记录以查看其内容

url(r'^index$', views.index, name='index'),
所以它似乎可以工作,我转到127.0.0.1:8000/AcademyApp/开始,它显示登录表单,登录表单将数据发送到auth视图,进行auth,登录并重定向到索引,但索引就像它无法读取记录的用户数据一样,我正在尝试:

<h1>HI {{user.username}} !!</h1>
HTML\u登录表单

<form action="/AcademyApp/auth" method="post">
    username: 
    <input type="text" name="username" value="" /><br />
    password:
    <input type="password" name="password" value="" /><br />
    <input type="submit" value="Log In" />
</form>

感谢您的帮助

为了使模板能够访问
用户
变量,您需要使用RequestContext呈现它。但你根本没有传递任何上下文。与直接调用模板加载程序和呈现方法不同,您应该使用


这是我在github的项目,如果有人想看的话。谢谢读:今天你第二次帮助我,非常感谢。我已经阅读了几乎5次djanto auth文档,但我根本没有注意到这一点。。。
<form action="/AcademyApp/auth" method="post">
    username: 
    <input type="text" name="username" value="" /><br />
    password:
    <input type="password" name="password" value="" /><br />
    <input type="submit" value="Log In" />
</form>
def login_page(request):
    template = loader.get_template('AcademyApp/login.html')
    return HttpResponse(template.render())


def auth_user(request):
    username = request.POST['username']
    password = request.POST['password']
    user = authenticate(username=username, password=password)
    if user is not None:
        if user.is_active:
            login(request, user)
            # Redirect to a success page.
            return redirect("index")

        else:
            # Return a 'disabled account' error message
            template = loader.get_template('AcademyApp/error.html')
    else:
        # Return an 'invalid login' error message.
        template = loader.get_template('AcademyApp/error.html')

    return HttpResponse(template.render())


@login_required
def index(request, user):
    template = loader.get_template('AcademyApp/index.html')
    return HttpResponse(template.render())
def index(request, user):
    return render(request, 'AcademyApp/index.html', {})