我嘗試用瓶掃描所有文件中的特定文件夾,並建立了網址鏈接自動這些文件,所以首先我定義在燒瓶內的應用程序路徑:變量在Jinja2的模板,通過瓶進口複製
homepath = os.getcwd() # the root path of the app
@app.route('/<folder>/')
def showList(folder):
folder_abs_path = homepath + '/static/'+folder
files = os.listdir(folder_abs_path)
return render_template('blog_list.html', files=files, folderName=folder)
,並創建一個模板的Jinja2像:
{% extends "base.html" %}
{% block body %}
<div id="main-contents">
<ul>
{% for item in files %}
<li><a href="{{ folderName +'/'+ item }}"> {{ item }}</a></li>
{% endfor %}
</ul>
</div>
{% endblock %}
當燒瓶運行時,我輸入:
http://localhost:5000/test/
它工作,列出我的測試文件夾中的所有文件(即「file1.md」和「file2.md」),但它不會爲文件啓用正確的url鏈接,當我單擊file1.md在本地網頁,它引導到像一個網址:
http://localhost:5000/test/test/file1.md
我要的是「http://localhost:5000/test/file1.md」,那麼,爲什麼有兩個「測試」文件夾名稱?
你生成一個相對路徑,你必須使它絕對的。看到生成的來源。 –
由於url將作爲GET消息發送到服務器,所以它不能是絕對路徑,或者您有任何解決方案,目前我手動在模板中添加文件夾名稱。 – cjhang