【问题标题】:How to display the list of followers of a user in Flask如何在 Flask 中显示用户的关注者列表
【发布时间】:2020-04-24 00:20:14
【问题描述】:

我是 Flask 的新手,我使用 Flask 创建了一个社交媒体博客,并且我使用了 flask-SQLAlchemy 数据库。我已经在博客中加入了关注功能,现在我想显示一个用户的关注者列表,但我遇到了一个错误,结果没有显示出来。

代码如下: 显示关注者的路径

@app.route("/userListFollowers/<username>")
@login_required
def listFollowers(username):    
    user = User.query.filter_by(username=username).first_or_404()
    folruser = user.followers.all()
    return render_template('userListFollowers.html', users=folruser)

显示关注者列表的 userListFollowers.html 文件

{%extends "layout.html" %}
{% block body %}
<div class="jumbotron">
  <h2 style="text-align: center;">Followers</h2>
  {% for users in listFollowers%}
        <a href="{{url_for('user', username=username.username)}}">{{username.username}}</a>
  {% endfor %}
</div>
{% endblock %}

我真的不明白如何让它工作。

这是错误

【问题讨论】:

  • 欢迎来到 SO!你得到的错误到底是什么?而且您没有在任何地方传递folruser?可以发一下listFollowers的路线吗?
  • 嗨@Erich我已经更新了问题

标签: python flask


【解决方案1】:

你应该使用 render_template 来渲染 HTML 模板,你正在返回一个重定向到同一个视图函数,所以你会不断地重定向。

您还需要将您的关注者列表传递给 render_template 函数,以便它使用您的 Jinja 代码呈现它们

对于您的神社代码:

{%extends "layout.html" %}
{% block body %}
<div class="jumbotron">
  <h2 style="text-align: center;">Followers</h2>
<ul>  
{% for users in listFollowers%}
        <li><a href="{{url_for('user', username=users.username)}}">{{users.username}}</a></li>
  {% endfor %}
</ul>
</div>
{% endblock %}

【讨论】:

  • 我已经按照你说的做了,现在错误页面没有显示,但是页面是空白的没有任何显示
  • 问题中的代码sn-ps也已经更新
  • 所以您的 Jinja 代码引用了 listFollowers,但您没有将其传入。在您的 render_template 函数中,将 users=folruser 替换为 listFollowers=folruser。同样在 url_for 函数的 Jinja 循环中,您引用了具有 username 属性的对象用户名,但这似乎不适用于 Jinja
  • 引用其他模板我也改了,但还是不显示结果
  • 所以我在答案中添加了我认为您需要进行的调整才能显示结果。
猜你喜欢
  • 1970-01-01
  • 2018-12-10
  • 1970-01-01
  • 2021-02-25
  • 1970-01-01
  • 1970-01-01
  • 2019-02-26
  • 2017-12-14
  • 2017-09-08
相关资源
最近更新 更多