Warning: count(): Parameter must be an array or an object that implements Countable in /home/xs638785/agile-software.site/public_html/wp-content/plugins/rich-table-of-content/functions.php on line 490
django==4.1.2
dj-database-url
dj-static
python-decouple
django-environ
gunicorn
psycopg2-binary
whitenoise
- dj-database-url
Django の開発時とインターネットに公開時では設定が違うのが普通です。 特にデータベースは、Web アプリや Web サービスの性能に影響する部分なので、公開時には MySQL や PostgreSQL など本格的な SQL データベースを使うのが普通です。 SQLite はデータベースと行っても一つのファイルにデータを保存する簡易的なデータベースなので、沢山の人が同時にアクセスするような使用は想定されていません。しかし、開発時は開発者以外のアクセスは基本的にないので、こうしたシンプルなデータベースで開発しても大きな問題ではありません。SQLite の場合、SQLiteBrowser など、データベースの中身をチェックできる便利なツールもあるので、開発時には便利です。
- python-decouple
PythonではPython-decoupleというモジュールがあるため、各種設定ファイルでハードコーディングしたくない情報を.env
に書き、sttings.py
でインポートすれば環境ごとに切り替え流事ができるので非常に有用です。
- gunicorn
gunicornはWebサーバーとDjangoをつなぐWSGI(Web Server Gateway Interface)サーバーです。
- whitenoise
Django では、本番環境での静的ファイルの処理がサポートされていません。ただし、優れた WhiteNoise プロジェクトを Django アプリケーションに統合することが可能
環境変数を使用可能にする
env = environ.Env()
env.read_env(os.path.join(BASE_DIR, ".env"))
whitenoiseの設定
whitenoise
を使用するために、MIDDLEWARE
に追加とSTATICFILES_STORAGE
を設定します。
'whitenoise.middleware.WhiteNoiseMiddleware',
データベースの変更
環境変数にDATABASE_URL
が設定されていない場合は、db.sqlite3 データベースを使用するようにしています。
Render にデプロイすると自動的に環境変数にDATABASE_URL
が設定されます。
default_dburl = "sqlite:///" + str(BASE_DIR / "db.sqlite3")
DATABASES = {
"default": config("DATABASE_URL", default=default_dburl, cast=dburl),
}
カスタムコマンド作成
build.sh
build.sh ファイルを作成します。
- ライブラリをインストール
- collectstatic で静的ファイルをまとめる
- migrate でデータベース構築
- superuser でスーパーユーザー作成