python -m venv myenv接下來,我們實現圖片上傳功能,用戶可以選擇並上傳圖片,系統將圖片保存到本地的uploads目錄,並將圖片信息存入數據庫。
@app.route('/upload', methods=['POST'])
def upload():
file = request.files.get("image")
if file:
img = Image.open(file)
img.save("uploads/" + file.filename)
image = Image(title=request.form.get("title"), filename=file.filename)
db.session.add(image)
db.session.commit()
return "Upload successful!"
else:
return "Upload failed!"
然後,繼續實現圖片展示功能,用戶可以通過訪問/images路徑查看所有上傳的圖片,並通過點擊查看詳細信息。
@app.route('/images')
def images():
images = Image.query.all()
return render_template('images.html', images=images)
@app.route('/image/<int:image_id> ')
def image_detail(image_id):
image = Image.query.get(image_id)
return render_template('image_detail.html', image=image)
最後,添加圖片刪除功能,用戶可以通過點擊“刪除”按鈕來刪除指定的圖片。
@app.route('/delete/<int:image_id> ')
def delete_image(image_id):
image = Image.query.get(image_id)
db.session.delete(image)
db.session.commit()
return redirect('/images')
為了優化用戶體驗,可以在前端頁面中使用適當的HTML和CSS,配合Jinja2模板引擎渲染動態內容。
通過以上代碼示例,我們已經展示瞭如何使用Python和Flask框架實現CMS系統的圖片管理功能。這只是一個簡單的示例,實際的CMS系統可能還需要更多複雜的功能和邏輯。希望本篇文章能夠給讀者提供一些靈感,幫助開發者在項目中實現圖片管理功能。希望大家繼續深入學習Web開發技術,提升自己的能力。