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