我目前正在將所有靜態文件移動到S3,以及允許一些圖像上傳到我的網站。總的來說,這是非常驚人的。我將所有現有的css和js文件全部上傳到S3,但是我在上傳圖像並將其保存到S3時遇到了一些麻煩。燒瓶url_for錯誤地鏈接到模板以外的靜態頁面
具體來說,這是我如何處理我的視圖中上傳文件:
image_file = request.files["imageurl"]
if image_file and allowed_file(image_file.filename):
fn = "products/%s" % secure_filename(image_title + "." + image_file.filename.split(".")[-1])
image_file.save(url_for('static', filename=fn))
else:
response = app.make_response(render_template(
'admin/newImage.html',
title=title,
error="That Image file is invalid.")
)
return response
這是一個POST請求處理程序的所有包裝材料。這裏的問題是,url_for('static')
無法鏈接到正確的路徑,所以我在任何時候嘗試保存這樣的圖像時都會得到IOError
。
通常我會認爲我只是在對我的目錄結構做一些愚蠢的事情,但url_for
的相同模式對我的靜態目錄中的文件非常適用。任何想法如何彌補這一點?這裏是我的目錄結構(下調觀看)
├── SpoolEngine
│ ├── admin.py
│ ├── __init__.py
│ ├── templates
│ │ ├── admin
│ │ │ ├── base.html
│ │ ├── base.html
│ │ ├── _forms.html
│ │ ├── posts
│ │ │ ├── complete.html
│ │ └── super_user
│ │ ├── base.html
│ ├── users.py
│ └── views.py
└── static
├── css
│ ├── admin.css
│ └── zebraTable.css
├── img
│ └── subtle_grunge.png
├── js
│ ├── compatibility.js
│ ├── list.js
│ ├── login.js
│ └── profiler.js
└── products
以供參考,url_for完美的作品中/static/css
和鏈接從admin.py
任何想法錯了網址?