Django
Djangoを使用してSquadbaseの機能を活用する方法を学びます。
Djangoは、迅速な開発とクリーンで実用的な設計を促進する高レベルのPython Webフレームワークです。経験豊富な開発者によって構築されており、Web開発の多くの煩わしさを処理してくれるため、車輪の再発明をすることなくアプリの作成に集中できます。
SquadbaseはDjangoアプリケーションのデリバリーにおいて、以下のような機能・運用を実現します。
- GitHubリポジトリから自動的なクラウド環境へのデプロイ
- 組み込みの認証とセキュリティ機能
- ログモニタリング
リソース
Djangoでのアプリ開発に役立つリソースを紹介します
Djangoアプリを新規に作成する
本項では、Squadbaseチームのおすすめとして、uvを用いてDjangoアプリを新規に作成する方法を紹介します。
まず、プロジェクトを初期化して、依存パッケージをインストールします。
uv init my-django-app
cd my-django-appuv add django gunicorn続いて、Djangoプロジェクトを作成します。
uv run django-admin startproject myproject .アプリケーションをテストするためのシンプルなビューを作成します。
from django.http import JsonResponse
def home(request):
    return JsonResponse({
        "message": "SquadbaseのDjangoからこんにちは!",
        "status": "success"
    })URL設定を更新します。
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home, name='home'),
]開発用にDjangoアプリケーションを起動します。
uv run python manage.py runserverこれで、Djangoアプリを開発する準備が整いました!🎉
以下を実行して、アプリケーションが正常に動作することを確認してみましょう。
curl http://127.0.0.1:8000/Djangoアプリに関する詳しい情報は、Django公式ドキュメントをご覧ください。
GitHub連携を用いてデプロイする
squadbase.ymlを作成する
プロジェクトのコードベースのルートに squadbase.yml を作成します。たとえば、manage.pyとpyproject.tomlがある場合は、以下のようになります。
例として、最もシンプルな squadbase.yml の内容は以下の通りです。
# squadbase.yml
version: '1'
build:
  framework: django
  runtime: python3.11  # Supported: python3.9, python3.10, python3.11, python3.12, python3.13
  package_manager: uv # Supported: pip, poetry, uv
  entrypoint: myproject.asgi:applicationsquadbase.ymlのカスタマイズについては、こちらをご覧ください。
デプロイ環境をカスタマイズしたい場合(例:データベースドライバー用のシステムパッケージのインストール)や、生成されるDockerfileを確認したい場合はこちらをご覧ください。
GithubリポジトリをSquadbaseにインポートする
Squadbaseのダッシュボードのホーム画面から、GitHubリポジトリをインポートします。インポートが完了すると、自動的にデプロイが開始されます。
プッシュしてデプロイ
アプリに変更を加えて、GitHubリポジトリにプッシュしてデプロイします。プッシュが完了すると、自動的に新しいバージョンのデプロイが開始されます。
ログモニタリング
Squadbaseは、デプロイされたアプリのログを収集し、ログモニタリングを提供します。ログモニタリングを利用することで、アプリのデプロイやデプロイのバージョンごとのログを確認することができます。
