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开发技术,提升自己的能力。