使用DJango在基本HTML中动态显示



我是DJango的新手,正在创建一个网站。我已经创建了一个带有NAV栏的基本HTML页面,它将在所有页面上使用。我想显示消息";欢迎使用"用户名"作为所有页面上的第一行。

我在views.py 中编写了以下代码

def getusername(request):
uname=request.getusername()
return render(request,'main.html',{'uname':uname})

在main.html中,在定义了标题和中殿栏之后,我得到了以下html代码

<span class="label label-default">Welcome{{uname}}</span>

当我运行这个代码时,我可以查看所有页面中的导航栏,它扩展了基本页面(main.html(

但是欢迎消息不会获取用户名。

我在urls.py 中配置了以下内容

path("", views.getusername,name='getusername')

注意:即使我对要从views.py返回的字符串进行硬编码,该字符串也不会显示为欢迎消息的一部分

在每个模板中,您都可以访问用户对象。您可以检查用户是否已通过身份验证:

{% if user.is_authenticated %}
Welcome, {{ user.username }}
{% else %}
# show register or(and) login button
{% endif %}

最新更新