我正在尝试将用户登录到他的个人资料中,并且需要将用户名传递到基本模板中的导航栏。 我有 base.html(基本模板)和 index-client.html(正文模板)。 现在从登录视图,我想将用户名值传递给base.html。
用户身份验证后的代码:
if user is not None:
if user.is_active:
login(request, user)
return redirect('index-client.html')
我需要将用户名传递给base.html,即基本模板。
答案 0 :(得分:1)
{{ request.user }}
方法是使用Django构建的,您可以在任何模板中使用它来访问User对象。
如果您想在导航栏中显示用户名,可以使用:
{{ request.user.first_name|capfirst }} {{ request.user.last_name|capfirst }}
可以看出,这可以使用模板标记|capfirst
来大写第一个字母。
答案 1 :(得分:0)
根据文档,redirect
将接受
模型:将调用模型的get_absolute_url()函数。
视图名称,可能带参数:reverse()将用于反向解析名称。
因此重定向到呈现基本html的特定视图。在html中
{% if request.user.is_authenticated %}
{{ request.user.username }}
{% endif %}