2012-07-29 55 views
1

我正在使用Flask和Flask-FlatPages,我試圖獲取Flatpages /pages文件夾中所有子目錄的列表。這些文件夾應該顯示爲一個鏈接,點擊後會在url上追加文件夾名稱。在pages文件夾中有兩個子目錄:misc和test。我曾經嘗試這樣做:燒瓶Flatpages文件夾列表。 BuildError

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

回答

1

有了這個BuildError,瓶告訴你它找不到URL名爲「文件夾」,需要一個單一的「名」參數視圖。你有這樣的看法嗎?請提供您所有觀點的代碼。

+0

我剛剛在鏈接視圖中得到了錯誤的名字,非常感謝! – dan 2012-07-30 10:48:08

0
  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)