當我使用此功能上傳文件:如何刪除服務器上的文件與瓶
@app.route('/add_item', methods=['GET', 'POST'])
@login_required
def new_item():
error = None
form = AddItemForm(request.form)
if request.method == 'POST':
file = request.files['file']
if file and allowed_file(file.filename) and form.name.data != "" and form.description.data != "":
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOADED_ITEMS_DEST'], filename))
new_item = Item(
filename,
form.name.data,
form.description.data,
form.price.data,
form.age.data,
form.particles.data,
form.category.data,
'1',
)
db.session.add(new_item)
db.session.commit()
return redirect(url_for('admin_items'))
else:
return render_template('admin_items.html', form=form, error=error)
if request.method == 'GET':
return redirect(url_for('admin_items'))
如何刪除與刪除項目的功能此上傳的文件?問題是,我目前的功能只刪除項目的內容(描述,價格等),但上傳到文件夾的實際文件當然不會被刪除!這造成了一個問題!
這裏是我的刪除功能:
# Delete Items:
@app.route('/delete_item/<int:item_id>/', methods=['GET', 'POST'])
@login_required
def delete_item(item_id):
new_id = item_id
os.remove(os.path.join(app.config['UPLOADED_ITEMS_DEST'], filename))
db.session.query(Item).filter_by(item_id=new_id).delete()
db.session.commit()
return redirect(url_for('admin_items'))
而os.remove(os.path.join(的app.config [ 'UPLOADED_ITEMS_DEST'],文件名))不工作? – Beri 2014-10-30 07:29:00
我已經插入了我的刪除功能。但是因爲我不是sqlalchemy的expirienced用戶,我不知道如何從數據庫中獲取「filename」的值給這個函數! :(除非發現 - 函數不起作用 – 2014-10-30 11:12:33