Squadbase logo

Django

Djangoを使用してSquadbaseの機能を活用する方法を学びます。

Djangoは、迅速な開発とクリーンで実用的な設計を促進する高レベルのPython Webフレームワークです。経験豊富な開発者によって構築されており、Web開発の多くの煩わしさを処理してくれるため、車輪の再発明をすることなくアプリの作成に集中できます。

SquadbaseはDjangoアプリケーションのデリバリーにおいて、以下のような機能・運用を実現します。

  • GitHubリポジトリから自動的なクラウド環境へのデプロイ
  • 組み込みの認証とセキュリティ機能
  • ログモニタリング

リソース

Djangoでのアプリ開発に役立つリソースを紹介します

Djangoアプリを新規に作成する

本項では、Squadbaseチームのおすすめとして、uvを用いてDjangoアプリを新規に作成する方法を紹介します。

まず、プロジェクトを初期化して、依存パッケージをインストールします。

Terminal
uv init my-django-app
cd my-django-app
Terminal
uv add django gunicorn

続いて、Djangoプロジェクトを作成します。

Terminal
uv run django-admin startproject myproject .

アプリケーションをテストするためのシンプルなビューを作成します。

myproject/views.py
from django.http import JsonResponse

def home(request):
    return JsonResponse({
        "message": "SquadbaseのDjangoからこんにちは!",
        "status": "success"
    })

URL設定を更新します。

myproject/urls.py
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アプリケーションを起動します。

Terminal
uv run python manage.py runserver

これで、Djangoアプリを開発する準備が整いました!🎉

以下を実行して、アプリケーションが正常に動作することを確認してみましょう。

Terminal
curl http://127.0.0.1:8000/

Djangoアプリに関する詳しい情報は、Django公式ドキュメントをご覧ください。

GitHub連携を用いてデプロイする

squadbase.ymlを作成する

プロジェクトのコードベースのルートに squadbase.yml を作成します。たとえば、manage.pyとpyproject.tomlがある場合は、以下のようになります。

manage.py
pyproject.toml
squadbase.yml

例として、最もシンプルな squadbase.yml の内容は以下の通りです。

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:application

squadbase.ymlのカスタマイズについては、こちらをご覧ください。

デプロイ環境をカスタマイズしたい場合(例:データベースドライバー用のシステムパッケージのインストール)や、生成されるDockerfileを確認したい場合はこちらをご覧ください。

GithubリポジトリをSquadbaseにインポートする

Squadbaseのダッシュボードのホーム画面から、GitHubリポジトリをインポートします。インポートが完了すると、自動的にデプロイが開始されます。

プッシュしてデプロイ

アプリに変更を加えて、GitHubリポジトリにプッシュしてデプロイします。プッシュが完了すると、自動的に新しいバージョンのデプロイが開始されます。

ログモニタリング

Squadbaseは、デプロイされたアプリのログを収集し、ログモニタリングを提供します。ログモニタリングを利用することで、アプリのデプロイやデプロイのバージョンごとのログを確認することができます。

Log Monitoring