首页 > 解决方案 > python flask base.html 不显示 {{user.username}

问题描述

这是我的base.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
      <div class="navbar-header">
        <a class="navbar-brand" href="{{ url_for('dashboard') }}">SOM</a>
      </div>
      <div id="navbar" class="navbar-collapse collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="#">Dashboard</a></li>
          <li><a href="#">Settings</a></li>
          <li><a href="#">Profile</a></li>
          <li><a href="{{ url_for('logout') }}">Log Out</a></li>
        </ul>
        <form class="navbar-form navbar-right">
          <input type="text" class="form-control" placeholder="Search...">
        </form>
      </div>
    </div>
  </nav>
</body>
</html>

profile.html:

{% extends "base.html" %}

<h3>{{user.username}}</h3>

当我进入个人资料页面时,它不会显示用户名,但如果我在那里输入其他内容,<h1> Hello </h1>我可以看到它。

标签: flask

解决方案


如果你试试

{% extends "base.html" %}
<h3>Hello, {{ user.username }}</h3>

你所看到的只是“你好”,下一步是验证你是否将user密钥传递给render_template,并且该值具有非空白username字段。

然后再看一下扩展文档,并注意有关覆盖块的部分。


推荐阅读