Djangaeのテンプレートを使用したGAE向けDjangoのセットアップ

Django

Djangaeのプロジェクトテンプレート見つけた

GAEでお安くコンテナ動かしたいと思いつつも、Djangoのバックエンドが基本RDB前提なのでCloud SQLの費用がかかっちゃうなあ、Datastoreでなんとかしたいなあと思っていました。
Googleのドキュメントを読んでいるとサードパーティでDjangaeが便利だみたいなことが書いてあって、でもどうやってこれでDjangoのユーザ認証なんかのバックエンドをまるっとDatastoreに変えるのか試すのがおっくうでしばらく放置してしまいました。

そんな中、DjangaeのGitLabページを見ていたらテンプレートのプロジェクトページを見つけたので、久しぶりに試してみた次第です。

見つけたページはこちら。簡単なREADMEがありますので、これに従いセットアップしていきます。
https://gitlab.com/potato-oss/djangae/djangae-scaffold

インストール手順

Djangoのインストール

何はともあれ、まっさらなOSからDjangoのインストールまで。
WSL上のUbuntu 22.04 LTSでやっています。他のバージョンでもだいたい一緒です。CentOSとかRHEL系はコマンドを読み替えてください。

$ sudo apt intall python3 python3-pip
$ mkdir djangae-sample
$ cd djangae-sample
$ python3 -m venv .venv
$ source .venv/bin/activate
(.venv) $ pip install --upgrade pip setuptools
(.venv) $ pip install django

Djangaeのテンプレートを使用してDjangoプロジェクト作成

GitLabのプロジェクトページにあるREADMEに記載のとおり進めていきます。
まずはDjangoのプロジェクトを作成する際に、Djangaeのテンプレートを指定して適用します。
下記のコマンド例だとDjangoプロジェクト名を「config」、カレントディレクトリをディレクトリツリーのトップにする「.」としていますが、ここはお好みで変えてください。

(.venv) $ django-admin startproject --template https://gitlab.com/potato-oss/djangae/djangae-scaffold/-/archive/master/djangae-scaffold-master.zip --extension py,yaml,md config .

GitLabにあるDjangaeテンプレートを使用してDjangoのプロジェクトが作成されます。

(.venv) $ ls -1A
.gcloudignore
.gitignore
.gitlab-ci.yml
.venv
README.md
app.yaml
config
main.py
manage.py
requirements-dev.txt
requirements.txt

requirements.txtが本番用と開発用の2種類あるので、開発環境ではどちらもインストールします。
GAEの本番環境にデプロイした際は、requirements.txtだけ当てる感じなんですかね。

(.venv) $ pip install -r requirements.txt
(.venv) $ pip install -r requirements-dev.txt

セットアップは以上です。
非常に簡単にできます。これで既にバックエンドがDatastoreになっています。

Djangaeのテンプレートプロジェクトページの最後のほうに標準セットアップとの差分内容が記載されていますので、こちらを見ながら設定をしていきます。
実際に動かしたら設定内容についても紹介していきたいと思います。本日はここまで。

コメント

タイトルとURLをコピーしました