html - 使用 DJango 在基本 HTML 中动态显示
问题描述
我是 DJango 的新手,我正在创建一个网站。我已经创建了一个带有 NAV 栏的基本 HTML 页面,它将在所有页面中使用。我想在所有页面的第一行显示消息“Welcome 'username'”。
我在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>
当我运行此代码时,我可以在所有页面中查看 NavBar 扩展基本页面(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 %}
推荐阅读
- python - 在具有 SLURM 的 HPC 系统上使用 GNU Parallel 运行具有两个输入文件的 python 文件的多个实例
- docker - docker重新启动后管道作业失败
- c++ - 如何存放和处理窗户
- html - 得到所有
- 的
- 硒python3
- 的
- c - 操作指针会导致 valgrind 中出现“无效的 realloc()”
- apache-kafka - 在没有 Schema Registry 的情况下处理 ksqlDB 中的 Avro
- algorithm - 费用。算法分析。中的算法
- c++ - 使用 create() 方法而不是类构造函数的好处?
- python - 在 python 中测试多处理实现
- java - maven 无法从模板或安装文件创建项目