首页 > 解决方案 > 在单独的 html 页面上显示来自数据库的数据

问题描述

我不确定这个问题之前是否已经回答过,我试图找到其他答案,但没有成功,可能是我没有正确搜索。

我正在尝试完成 CS50 Web Finance 项目,但我在投资组合页面的开头遇到了障碍。更具体地说,我在我的 python 页面上从我的 finance.db 中提取数据然后在我的portfolio.html 页面上显示它时遇到了麻烦。我认为我已经成功地从我的财务.db 中提取了用户名,如下面的代码所示。

@app.route("/")
@login_required
def index():
    """Show portfolio of stocks"""
     # look up the current user
    user = db.execute("SELECT username FROM users WHERE id = :id", id=session["user_id"])


    return render_template("portfolio.html")

但是,无论我在portfolio.html 中做什么,我都无法得到它,所以说“Hello [username]”只是一直说“Hello undefined”

{% extends "layout.html" %}

{% block title %}
    Home
{% endblock %}

{% block main %}
  <p>Hello {{ [username] }}</p>
{% endblock %}

我敢肯定这是大多数人都能得到的东西,但我还是个新手,我只是不明白。我试图查找资源,但我发现的唯一东西是其他人的代码,我不想复制和粘贴,我想学习如何正确地做,所以任何帮助将不胜感激. 非常感谢你。

标签: pythonhtmlsqlcs50

解决方案


在烧瓶中,您只需要将用户名信息通过render_template.

所以,比如:

return render_template("portfolio.html", username=user)

然后在模板中显示:

  <p>Hello {{username}}</p>

推荐阅读