Masonite
masoniteはPython製のWebフレームワークです。
公式ドキュメントとチュートリアルも用意されており、わりと簡単にはじめられると思います。
準備
Python環境にはvirtualenvを使いました。
$ sudo apt install python3-dev python3-pip libssl-dev build-essential python3-venv
$ mkdir masonite_tutorial && cd masonite_tutorial/
$ virtualenv -p python3.6 venv
$ source venv/bin/activate
次にmasoniteのインストール。craft new
コマンドでmasoniteプロジェクトを作成できます。
$ pip3 install masonite
$ craft new
サーバーの立ち上げは以下のコマンド。
$ craft serve
http://localhost:8000 にアクセスすると以下のような画面が立ち上がると思います。
ログイン機能の追加
上記のページだけだとなんか物足りないので、ユーザー登録・ログイン機能を追加します。
$ craft auth
データベースの設定をします。.envファイルがあると思うのでそれを以下のように編集。
そのまえにローカルのpostgresでデータベースを作成するのを忘れずに!
DB_CONNECTION=postgres
DB_HOST=localhost
DB_PORT=5432
DB_DATABASE=hello_masonite_dev
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_LOG=True
それができたら、以下のコマンド
$ craft migrate
これで機能追加は完了です。
http://localhost:8000/register からユーザー登録ができます。
ここまででコードをgitにあげ、テンプレートにしておくと、今後使いまわせて便利かもしれないです。
Heroku
Procfileを追加
web: gunicorn -w 2 wsgi:application
herokuへのデプロイはコマンドから行いました。
$ heroku git:remote -a masonite-app
$ git push heroku master
$ heroku run craft migrate
デプロイした後の設定として以下を行います。
- postgreSQLの追加
- postgreSQLを追加した後発行されるurlは以下のようになっているので分解して環境変数にセットします
- postgres://DB_USERNAME:DB_PASSWORD@DB_HOST:DB_PORT/DB_DATABASE
- 環境変数の設定(各環境変数の値は各自のenvファイルを参照)
- KEY
- APP_DEBAG
- DB_CONNECTION
- DB_HOST
- DB_PORT
- DB_DATABASE
- DB_USERNAME
- DB_PASSWORD
- DB_LOG