パーソナライズされた写真共有プラットフォームの構築: Webman の写真アプリ ガイド

WBOY
リリース: 2023-08-26 16:39:15
オリジナル
962 人が閲覧しました

パーソナライズされた写真共有プラットフォームの構築: Webman の写真アプリ ガイド

パーソナライズされた写真共有プラットフォームの構築: Webman の写真アプリケーション ガイド

要約:
テクノロジーの進歩とスマートフォンの普及により、人々の関心はさらに高まっています。写真を撮る 写真共有の需要は増え続けています。この記事では、Webman を使用してパーソナライズされた写真共有プラットフォームを構築する方法を紹介します。 Webman は、Python 言語をベースとした Web フレームワークで、豊富な機能と使いやすい API インターフェイスを提供します。この記事のガイドでは、Webman を使用してパーソナライズされた機能を備えた写真共有プラットフォームを構築する方法を学び、いくつかの実用的なコード例を追加します。

  1. Webman のインストール
    まず、Webman をインストールする必要があります。 Webman のインストールは非常に簡単です。pip コマンドを使用して 1 行でインストールするだけです。

    pip install webman
    ログイン後にコピー
  2. プロジェクトの作成
    Webman をインストールした後、Webman のコマンド ライン ツールを使用して次のことを行うことができます。 create 新しいプロジェクト:

    webman create myphotoapp
    ログイン後にコピー

    これにより、myphotoapp という新しいプロジェクト ディレクトリが作成され、基本的なプロジェクト構造が作成されます。

  3. データベース モデルの定義
    myphotoapp ディレクトリに models.py という名前のファイルを作成します。このファイルでは、写真とユーザーのデータベース モデルを定義します。

    from webman import db
    
    class User(db.Model):
     id = db.Column(db.Integer, primary_key=True)
     username = db.Column(db.String(80), unique=True, nullable=False)
     password = db.Column(db.String(80), nullable=False)
    
    class Photo(db.Model):
     id = db.Column(db.Integer, primary_key=True)
     title = db.Column(db.String(80), nullable=False)
     filename = db.Column(db.String(80), nullable=False)
     user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
     user = db.relationship('User', backref=db.backref('photos', lazy=True))
    ログイン後にコピー

    この例では、ユーザーと写真という 2 つのモデル クラスを作成しました。 User モデルはユーザー情報を格納するために使用され、Photo モデルは写真情報を格納するために使用されます。 db.Column を使用してモデル内のフィールドを定義し、db.relationship を使用してモデル間の関係を定義します。

  4. ルートとビューの作成
    myphotoapp ディレクトリに views.py という名前のファイルを作成します。このファイルでは、写真アプリケーションのルートと表示機能を定義します。

    from webman import app, db
    from webman.auth import login_required
    from webman.shortcuts import render_template, redirect, url_for
    from .models import User, Photo
    
    @app.route('/')
    @login_required
    def index():
     user = User.query.get(session['user_id'])
     photos = Photo.query.filter_by(user_id=user.id).all()
     return render_template('index.html', user=user, photos=photos)
    
    @app.route('/upload', methods=['GET', 'POST'])
    @login_required
    def upload():
     if request.method == 'POST':
         file = request.files['file']
         filename = secure_filename(file.filename)
         file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
         photo = Photo(title=request.form['title'], filename=filename, user_id=session['user_id'])
         db.session.add(photo)
         db.session.commit()
         return redirect(url_for('index'))
     return render_template('upload.html')
    ログイン後にコピー

    この例では、2 つのルート: '/' と '/upload' を定義します。 「/」ルートはユーザーの写真リストを表示するために使用され、「アップロード」ルートはユーザーの写真アップロード要求を処理するために使用されます。 @login_required デコレータを使用して、これらのルートにアクセスするときにユーザーがログインしていることを確認します。

  5. テンプレートの作成
    myphotoapp ディレクトリに templates という名前のフォルダーを作成し、その中に 2 つの HTML テンプレート ファイル (index.html と Upload.html) を作成します。
    index.html は写真のリストを表示するために使用されます:

    {% extends 'base.html' %}
    
    {% block content %}
    <h1>Welcome, {{ user.username }}</h1>
    
    <h2>Your Photos</h2>
    <ul>
    {% for photo in photos %}
     <li>{{ photo.title }}</li>
    {% endfor %}
    </ul>
    
    <a href="{{ url_for('upload') }}">Upload a Photo</a>
    {% endblock %}
    ログイン後にコピー

    upload.html は写真をアップロードするためのフォームを表示するために使用されます:

    {% extends 'base.html' %}
    
    {% block content %}
    <h1>Upload a Photo</h1>
    
    <form action="{{ url_for('upload') }}" method="POST" enctype="multipart/form-data">
     <input type="file" name="file" required>
     <input type="text" name="title" placeholder="Title" required>
     <input type="submit" value="Upload">
    </form>
    {% endblock %}
    ログイン後にコピー
  6. アプリケーションを実行します
    上記の手順を完了します。手順を完了すると、Webman のコマンド ライン ツールを使用してアプリケーションを実行できます。

    webman run
    ログイン後にコピー

    これにより、ローカル サーバーが起動し、http://localhost:5000 でリッスンします。ブラウザでこのアドレスを開くと、私たちが作成した写真共有プラットフォームが表示されます。

結論:
この記事のガイドを通じて、Webman を使用してパーソナライズされた写真共有プラットフォームを構築する方法を学びました。データベース モデルを定義し、ルートとビューを作成し、テンプレートを作成することで、基本的な写真共有アプリケーションが完成しました。ユーザー登録やコメント機能の追加など、ご要望に応じてさらに拡張することができます。この記事がパーソナライズされた写真共有プラットフォームの構築に役立つことを願っています。

以上がパーソナライズされた写真共有プラットフォームの構築: Webman の写真アプリ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!