python -m venv myenv
を実行する次に、画像アップロード関数を実装します。ユーザーは画像を選択してアップロードできます。システムは、イメージをローカルアップロードディレクトリに保存し、画像情報をデータベースに保存します。
@app.route( '/upload'、method = ['post'])) def upload(): file = request.files.get( "image") ファイルの場合: img = image.open(file) img.save( "uploads/" + file.filename) 画像=画像(title = request.form.get( "title")、filename = file.filename) db.session.add(画像) db.session.commit() 「成功してアップロード!」を戻るします。 それ以外: 「アップロードが失敗しました!」を戻るします。
次に、画像表示機能を実装し続けると、ユーザーはアクセス/画像パスを介してアップロードされたすべての画像を表示し、クリックして詳細情報を表示できます。
@app.route( '/images') def 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(画像) db.session.commit() return redirect( '/images')
ユーザーエクスペリエンスを最適化するために、フロントエンドページで適切なHTMLとCSSを使用して、JINJA2テンプレートエンジンと組み合わせて動的コンテンツをレンダリングできます。
上記のコードの例を介して、PythonおよびFlaskフレームワークを使用してCMSシステムの画像管理機能を実装する方法を示しました。これは単なる簡単な例であり、実際のCMSシステムには、より複雑な機能とロジックが必要になる場合があります。この記事が、開発者がプロジェクトで画像管理機能を実装できるように、読者にインスピレーションを提供できることを願っています。誰もがウェブ開発技術を深く学び、能力を向上させることを願っています。