我正在使用带有Flask-FlatPages
的Flask,我正在尝试获取Flatpages /pages
文件夹中所有子目录的列表。这些文件夹应显示为链接,单击该链接时会在网址上附加foldername。在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)
答案 0 :(得分:1)
使用此BuildError,Flask告诉您它无法找到名为“folder”的视图的URL,该视图采用单个“name”参数。你有这样的看法吗?请提供您所有观点的代码。
答案 1 :(得分:0)
您需要在模板使用中替换单引号和双引号;而不是"{{ url_for("folder", name=folder) }}"
,您需要'{{ url_for("folder", name=folder) }}'
。
在测试和开发应用程序时,将debug=True
添加到run语句中。这会使用非常漂亮的调试工具添加错误页面:app.run(host='0.0.0.0', port=10000, debug=True)