

10分でコードの初入力からライブデプロイまで:驚速FastAPIブログコース
これはFastAPIの短期集中コースです。このチュートリアルでは、Python FastAPIを使用して、コードの初入力からデプロイまで、わずか数ステップで10分未満でブログを構築します。
このコースが非常に速い理由は、すべての概念を深く掘り下げるのではなく、完成品を構築するまで直接案内するからです。既存の製品を自分のアイデアに基づいて変更することが、新しいフレームワークを習得する最も効率的な方法だと私は信じています。
このブログは、Python Web開発で一般的に使用されるテクノロジースタックを使用した、純粋なバックエンドロジックとレンダリングプロジェクトです:
- FastAPI + Uvicorn
- PostgreSQL
- SQLModel:コードからデータベースと対話するため。
- Jinja2:フロントエンドページをレンダリングするためのテンプレートエンジン。
早速始めましょう:
1. プロジェクトの初期化
ターミナルで次のコマンドを実行します:
requirements.txt
ファイルを作成し、次の依存関係を追加します:
その後、インストールします:
2. PostgreSQLデータベースへの接続
次に、PostgreSQLデータベースを統合します。
データベースの設定
チュートリアルを迅速に進めるため、ローカルにデータベースをインストールして設定する手順はスキップします。代わりに、オンラインデータベースを直接プロビジョニングします。
Leapcellでワンクリックで無料データベースを作成できます。
ウェブサイトでアカウントを登録した後、「データベースを作成」をクリックします。

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

新しいページにある接続情報で、接続文字列を見つけます。これはすぐに使用します。
データベース接続の設定
プロジェクトのルートディレクトリに.env
ファイルを作成し、機密性の高い接続情報を保存します。Leapcellから取得したURLを貼り付けます。
次に、database.py
ファイルを作成してデータベース接続を処理します:
3. Postモジュールの作成
次に、ブログ投稿に関連するロジックを実装します。
プロジェクトのルートディレクトリにmodels.py
ファイルを作成して、データモデルを定義します。
SQLModelは、このクラスをデータベースのpost
テーブルに自動的にマッピングします。create_db_and_tables
関数は、アプリケーション起動時にこのテーブルが作成されることを保証するため、SQLを手動で実行する必要はありません。
4. WebレンダリングのためのJinja2の設定
Jinja2を設定してHTMLウェブサイトをレンダリングします。
ディレクトリ構造の作成
プロジェクトのルートディレクトリにtemplates
とpublic
フォルダを作成します。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
を開いて、ブログのホームページを確認してください。新しい投稿を作成して、すべての機能をテストできます!


7. ブログのオンラインデプロイ
これで、作成したウェブサイトを他の人に見てもらい、誰でもアクセスできるようにするにはどうすればよいか、疑問に思っているかもしれません。
以前データベース作成に使用したLeapcellを覚えていますか? Leapcellはデータベースを作成するだけでなく、FastAPIを含むさまざまな言語やフレームワークのプロジェクトをホストできるWebアプリホスティングプラットフォームでもあります。
以下の手順に従ってください:
- プロジェクトをGitHubにコミットします。GitHubの公式ドキュメントを参照して手順を確認してください。Leapcellは後でGitHubリポジトリからコードを取得します。
- Leapcellページで「サービスを作成」をクリックします。
- FastAPIリポジトリを選択すると、Leapcellが必要な構成を自動入力します。
- 環境変数はご自身で入力する必要があります。
DATABASE_URL
を.env
ファイルと同じ値に設定します。
- 下部にある「Submit」をクリックしてデプロイします。デプロイはすぐに完了し、デプロイメントホームページに戻ります。ここで、Leapcellがドメインを提供していることがわかります。これがブログのオンラインアドレスです。
これで、このリンクを友達と共有すれば、誰もがあなたのブログをオンラインで見ることができます!
Xでフォローする:@LeapcellJP
関連記事: