【问题标题】:Why won't my data from my database be displayed to the front end using Flask?为什么我的数据库中的数据不能使用 Flask 显示到前端?
【发布时间】:2021-01-31 12:48:39
【问题描述】:

第一次使用烧瓶。我正在尝试构建一个简单的博客风格网站,我在其中撰写帖子,继续提交该帖子,然后显示该帖子。

除了不向前端显示之外,我的数据库(名为 BlogPost)似乎正在正常工作。例如,我能够从数据库中查询数据,因此数据确实被正确存储。我使用 sqlite 作为我的数据库。我的应用程序(CSS 样式、数据库存储、表单提交)的所有内容都正常工作,唯一的问题是将数据显示到/posts。如果需要更多信息才能获得有效答案,请在下方发表评论。

附: “作者”填充了我的名字

【问题讨论】:

  • 在返回之前尝试使用 logger 并记录 all_posts。您将了解数据是否来自数据库。

标签: python flask frontend flask-sqlalchemy backend


【解决方案1】:

您需要在 posts.html 上使用 Jinja 语法,只需在正文某处添加 {{ all_posts }} 即可。

【讨论】:

  • 您介意详细说明该语法的样子吗?仅仅是您分享的内容({{ all_posts }}),还是我需要一个 for 循环来遍历 {{ all_posts }}?
  • 你可能需要一个 for 循环。一些简单的东西可能会像 {% for item in all_posts %} 这样工作,然后你会使用 {{ items }}。那么你需要在下面的 {{ items }} 处添加一个 {% endfor %}。
【解决方案2】:

您需要在 HTML 中使用 Jinja 模板。

posts.html

{{posts}}

您可能希望显示每个帖子的信息,因此您可以尝试以下方式(添加您的样式)

posts.html

{% for post in posts %}

{{post.title}}
{{post.author}}
{{post.content}}

{% endfor %}

更多关于 Jinja 模板的信息可以找到on the Jinja documentation page.

【讨论】:

    猜你喜欢
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多