パーソナライズされた写真共有プラットフォームの構築: Webman の写真アプリケーション ガイド
要約:
テクノロジーの進歩とスマートフォンの普及により、人々の関心はさらに高まっています。写真を撮る 写真共有の需要は増え続けています。この記事では、Webman を使用してパーソナライズされた写真共有プラットフォームを構築する方法を紹介します。 Webman は、Python 言語をベースとした Web フレームワークで、豊富な機能と使いやすい API インターフェイスを提供します。この記事のガイドでは、Webman を使用してパーソナライズされた機能を備えた写真共有プラットフォームを構築する方法を学び、いくつかの実用的なコード例を追加します。
Webman のインストール
まず、Webman をインストールする必要があります。 Webman のインストールは非常に簡単です。pip コマンドを使用して 1 行でインストールするだけです。
pip install webman
プロジェクトの作成
Webman をインストールした後、Webman のコマンド ライン ツールを使用して次のことを行うことができます。 create 新しいプロジェクト:
webman create myphotoapp
これにより、myphotoapp という新しいプロジェクト ディレクトリが作成され、基本的なプロジェクト構造が作成されます。
データベース モデルの定義
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 を使用してモデル間の関係を定義します。
ルートとビューの作成
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 デコレータを使用して、これらのルートにアクセスするときにユーザーがログインしていることを確認します。
テンプレートの作成
myphotoapp ディレクトリに templates という名前のフォルダーを作成し、その中に 2 つの HTML テンプレート ファイル (index.html と Upload.html) を作成します。
index.html は写真のリストを表示するために使用されます:
{% extends 'base.html' %} {% block content %}Welcome, {{ user.username }}
Your Photos
upload.html は写真をアップロードするためのフォームを表示するために使用されます:
{% extends 'base.html' %} {% block content %}{% endblock %}Upload a Photo
アプリケーションを実行します
上記の手順を完了します。手順を完了すると、Webman のコマンド ライン ツールを使用してアプリケーションを実行できます。
webman run
これにより、ローカル サーバーが起動し、http://localhost:5000 でリッスンします。ブラウザでこのアドレスを開くと、私たちが作成した写真共有プラットフォームが表示されます。
結論:
この記事のガイドを通じて、Webman を使用してパーソナライズされた写真共有プラットフォームを構築する方法を学びました。データベース モデルを定義し、ルートとビューを作成し、テンプレートを作成することで、基本的な写真共有アプリケーションが完成しました。ユーザー登録やコメント機能の追加など、ご要望に応じてさらに拡張することができます。この記事がパーソナライズされた写真共有プラットフォームの構築に役立つことを願っています。
以上がパーソナライズされた写真共有プラットフォームの構築: Webman の写真アプリ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。