驚速FastAPIブログコース:10分でコードの初入力からライブデプロイまで

要約
このチュートリアルでは、FastAPI、SQLModel、PostgreSQLを使用して、プロジェクトセットアップからライブウェブサイトまで、すべてを網羅したフルスタックブログを10分未満で構築およびデプロイする方法を説明します。
意見はこのエリアに表示されます
アイキャッチ画像
Cover

10分でコードの初入力からライブデプロイまで:驚速FastAPIブログコース

これはFastAPIの短期集中コースです。このチュートリアルでは、Python FastAPIを使用して、コードの初入力からデプロイまで、わずか数ステップで10分未満でブログを構築します。

このコースが非常に速い理由は、すべての概念を深く掘り下げるのではなく、完成品を構築するまで直接案内するからです。既存の製品を自分のアイデアに基づいて変更することが、新しいフレームワークを習得する最も効率的な方法だと私は信じています。

このブログは、Python Web開発で一般的に使用されるテクノロジースタックを使用した、純粋なバックエンドロジックとレンダリングプロジェクトです:

  • FastAPI + Uvicorn
  • PostgreSQL
  • SQLModel:コードからデータベースと対話するため。
  • Jinja2:フロントエンドページをレンダリングするためのテンプレートエンジン。

早速始めましょう:

1. プロジェクトの初期化

ターミナルで次のコマンドを実行します:

requirements.txtファイルを作成し、次の依存関係を追加します:

その後、インストールします:

2. PostgreSQLデータベースへの接続

次に、PostgreSQLデータベースを統合します。

データベースの設定

チュートリアルを迅速に進めるため、ローカルにデータベースをインストールして設定する手順はスキップします。代わりに、オンラインデータベースを直接プロビジョニングします。

Leapcellでワンクリックで無料データベースを作成できます。

Leapcell

ウェブサイトでアカウントを登録した後、「データベースを作成」をクリックします。

ImageP1

データベース名を入力し、デプロイメントリージョンを選択すると、PostgreSQLデータベースを作成できます。

表示される新しいページで、データベースに接続するために必要な情報が見つかります。コントロールパネルが下部に用意されており、ウェブページで直接データベースの読み取りと変更が可能です。

ImageP2

新しいページにある接続情報で、接続文字列を見つけます。これはすぐに使用します。

データベース接続の設定

プロジェクトのルートディレクトリに.envファイルを作成し、機密性の高い接続情報を保存します。Leapcellから取得したURLを貼り付けます。

次に、database.pyファイルを作成してデータベース接続を処理します:

3. Postモジュールの作成

次に、ブログ投稿に関連するロジックを実装します。

プロジェクトのルートディレクトリにmodels.pyファイルを作成して、データモデルを定義します。

SQLModelは、このクラスをデータベースのpostテーブルに自動的にマッピングします。create_db_and_tables関数は、アプリケーション起動時にこのテーブルが作成されることを保証するため、SQLを手動で実行する必要はありません。

4. WebレンダリングのためのJinja2の設定

Jinja2を設定してHTMLウェブサイトをレンダリングします。

ディレクトリ構造の作成

プロジェクトのルートディレクトリにtemplatespublicフォルダを作成します。templatesフォルダにはHTMLファイルを格納し、publicフォルダにはCSSやJavaScriptなどの静的アセットを格納します。

最終的なプロジェクト構造は次のようになります:

フロントエンドページの実装

templatesフォルダ内に以下のファイルを作成します:

  • _header.html(再利用可能なヘッダー)

  • _footer.html(再利用可能なフッター)

  • index.html(ブログホームページ)

  • post.html(投稿詳細ページ)

  • new-post.html(新規投稿ページ)

CSSスタイルの追加

publicディレクトリにcssフォルダを作成し、その中にstyle.cssファイルを作成します。スタイルは元の記事と一致しています。

5. メインアプリケーションロジックの記述

最後に、プロジェクトのルートディレクトリにmain.pyファイルを作成します。このファイルはアプリケーション全体の入力ポイントであり、データベース、ルーティング、テンプレートロジックを統合します。

6. ブログの実行

これでブログ開発は完了です。ターミナルで次のコマンドを実行してブログを開始します:

--reloadパラメータは、コードを変更したときにサーバーを自動的に再起動するため、開発やデバッグに便利です。

ブラウザでhttp://localhost:8000を開いて、ブログのホームページを確認してください。新しい投稿を作成して、すべての機能をテストできます!

ImageP3 ImageP4

7. ブログのオンラインデプロイ

これで、作成したウェブサイトを他の人に見てもらい、誰でもアクセスできるようにするにはどうすればよいか、疑問に思っているかもしれません。

以前データベース作成に使用したLeapcellを覚えていますか? Leapcellはデータベースを作成するだけでなく、FastAPIを含むさまざまな言語やフレームワークのプロジェクトをホストできるWebアプリホスティングプラットフォームでもあります。

Leapcell

以下の手順に従ってください:

  1. プロジェクトをGitHubにコミットします。GitHubの公式ドキュメントを参照して手順を確認してください。Leapcellは後でGitHubリポジトリからコードを取得します。
  2. Leapcellページで「サービスを作成」をクリックします。
    ImageP5
  3. FastAPIリポジトリを選択すると、Leapcellが必要な構成を自動入力します。
    ImageP6
  4. 環境変数はご自身で入力する必要があります。DATABASE_URL.envファイルと同じ値に設定します。
    ImageP7
  5. 下部にある「Submit」をクリックしてデプロイします。デプロイはすぐに完了し、デプロイメントホームページに戻ります。ここで、Leapcellがドメインを提供していることがわかります。これがブログのオンラインアドレスです。
    ImageP8

これで、このリンクを友達と共有すれば、誰もがあなたのブログをオンラインで見ることができます!


Xでフォローする:@LeapcellJP


ブログでこの記事を読む

関連記事:

Explore More
関連記事はありません。
Trends