【问题标题】:Flask Flatpages list of folders. BuildErrorFlask Flatpages 文件夹列表。构建错误
【发布时间】:2012-07-29 18:56:23
【问题描述】:

我将 Flask 与 Flask-FlatPages 一起使用,并且我正在尝试获取 Flatpages /pages 文件夹中所有子目录的列表。这些文件夹应显示为一个链接,单击该链接时会将文件夹名称附加到 url。在 pages 文件夹中有两个子目录:misc 和 test。我试过这个:

@app.route('/list')
def listdir():
    folders = os.listdir('./pages')
    return render_template('list.html', folders=folders)

模板正在使用这部分:

<ul class="unstyled">
{% for folder in folders %}
    <li>
    <a href="{{ url_for("folder", name=folder) }}"><h3>{{ folder }}</h3></a>
    </li>
 ....

但它只是给了我一个空白页。

我尝试了一点,现在它至少给了我一个错误:

BuildError: ('folder', {'name': 'test'}, None)

【问题讨论】:

    标签: python flask flask-flatpages


    【解决方案1】:

    有了这个 BuildError,Flask 告诉你它找不到名为“folder”的视图的 URL,该视图采用单个“name”参数。你有这样的看法吗?请提供您所有视图的代码。

    【讨论】:

    • 我只是把链接视图中的名称弄错了,非常感谢!
    【解决方案2】:
    1. 您需要在模板使用中交替使用单引号和双引号;你需要'{{ url_for("folder", name=folder) }}' 而不是"{{ url_for("folder", name=folder) }}"

    2. 在测试和开发您的应用程序时,将debug=True 添加到您的运行语句中。这会添加带有 非常 不错的调试工具的错误页面:app.run(host='0.0.0.0', port=10000, debug=True)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-08
      • 2019-11-14
      • 1970-01-01
      • 2021-05-28
      • 2016-12-09
      • 1970-01-01
      • 2017-06-15
      相关资源
      最近更新 更多