1

でFlaskを使用してFlask-FlatPagesいて、Flatpages/pagesフォルダー内のすべてのサブディレクトリのリストを取得しようとしています。これらのフォルダは、クリックするとURLにフォルダ名を追加するリンクとして表示されます。ページフォルダには、miscとtestの2つのサブディレクトリがあります。私はこれを試しました:

@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)
4

2 に答える 2

1

このBuildErrorにより、Flaskは、単一の「name」パラメーターをとる「folder」という名前のビューのURLが見つからないことを通知しています。そんな見方はありますか?ビューのコードをすべて提供してください。

于 2012-07-30T08:30:01.980 に答える
0
  1. テンプレートの使用では、一重引用符と二重引用符を交互に使用する必要があります。"{{ url_for("folder", name=folder) }}"あなたの代わりに'{{ url_for("folder", name=folder) }}'

  2. debug=Trueアプリケーションのテストと開発中に、runステートメントに追加します。これにより、非常に優れたデバッグツールを備えたエラーページが追加されます。app.run(host='0.0.0.0', port=10000, debug=True)

于 2012-07-29T20:18:13.890 に答える