這兩天在學習flask檔案上傳的内容。網上找到一個教程。自己敲了一遍打算實作一下。但是卻發現在pycharm中運作報錯,顯示有一個擴充包沒有。但是我明明下了那個擴充包,之後在終端中運作程式卻發現可以成功。
期間我嘗試直接複制粘貼教程的代碼卻還是同樣的問題。擴充包的下載下傳都是在pycharm中完成的。
相關代碼:
upload.py
import os
from flask import Flask, render_template
from flask_uploads import UploadSet, configure_uploads, IMAGES, patch_request_class
from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileRequired, FileAllowed
from wtforms import SubmitField
app = Flask(__name__)
app.config['SECRET_KEY'] = 'I have a dream'
app.config['UPLOADED_PHOTOS_DEST'] = os.getcwd()
photos = UploadSet('photos', IMAGES)
configure_uploads(app, photos)
patch_request_class(app) # set maximum file size, default is 16MB
class UploadForm(FlaskForm):
photo = FileField(validators=[FileAllowed(photos, u'Image only!'), FileRequired(u'File was empty!')])
submit = SubmitField(u'Upload')
@app.route('/', methods=['GET', 'POST'])
def upload_file():
form = UploadForm()
if form.validate_on_submit():
filename = photos.save(form.photo.data)
file_url = photos.url(filename)
else:
file_url = None
return render_template('index.html', form=form, file_url=file_url)
if __name__ == '__main__':
app.run()
index.html
Upload File
Photo Upload
{{ form.hidden_tag() }}
{{ form.photo }}
{% for error in form.photo.errors %}
{{ error }}
{% endfor %}
{{ form.submit }}
{% if file_url %}
{% endif %}
Raw
pychar運作結果:
終端運作結果:
代碼運作成功網頁:
是不是pycharm有什麼相關設定要改??? 求指導!!!