現在の位置: ホーム> 最新記事一覧> Pythonを使用してCMSシステムで画像管理機能を作成する方法

Pythonを使用してCMSシステムで画像管理機能を作成する方法

M66 2025-06-13

Pythonを使用してCMSシステムの画像管理機能を書き込む方法

メインテクノロジースタック:

  • Python:Webアプリケーションの迅速な開発に適した、学習しやすく、強力なプログラミング言語。
  • フラスコ:小型CMSシステムの構築に適した軽量のWebアプリケーションフレームワーク。
  • SQLALCHEMY:データベース操作を簡素化するためのPython SQLツールキットとオブジェクト関係マッパー。
  • Jinja2:ダイナミックなWebページ生成用の強力で柔軟なテンプレートエンジン。

環境準備:

  1. Python:Python公式WebサイトからPythonインタープリターの最新バージョンをダウンロードしてインストールします。
  2. 仮想環境を作成する:コマンドラインで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( &#39;/image/<int:image_id> &#39;)
    def image_detail(image_id):
        image = image.query.get(image_id)
        return render_template( &#39;image_detail.html&#39;、image = image)
    

    次に、画像削除の関数を実装することです。ユーザーは、ページ上の[削除]ボタンをクリックして、指定された画像を削除できます。

    @app.route( &#39;/delete/<int:image_id> &#39;)
    def delete_image(image_id):
        image = image.query.get(image_id)
        db.session.delete(画像)
        db.session.commit()
        return redirect( &#39;/images&#39;)
    

    より良いユーザーエクスペリエンスを提供するために、フロントエンドページは適切なHTMLおよびCSSコードを追加して、JINJA2テンプレートエンジンを使用して動的なコンテンツをレンダリングできます。

    <!-- images.html -->
    {画像の画像の%}
      <div>
        <a href="{{ url_for('image_detail', image_id=image.id) }}">詳細を急行します</a>
        <a href="{{ url_for('delete_image', image_id=image.id) }}">消去</a>
      </div>
    {%endfor%}
    
    <!-- image_detail.html -->
    <h1>{{image.title}}</h1>
    

    要約:

    上記のコードの例を介して、Pythonを使用してCMSシステムの画像管理機能を書き込む方法を見ることができます。これは単なる簡単な例ですが、Flaskフレームワーク、SQLalchemyデータベースツール、PIL画像処理ライブラリの基本的な使用法を示しています。実際の開発では、CMSシステムはより多くの機能と複雑なロジックを必要とする場合があり、開発者はこれに基づいて拡張および最適化できます。