0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

masoniteアプリをHerokuでデプロイ2020

Posted at

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 にアクセスすると以下のような画面が立ち上がると思います。

root.png

ログイン機能の追加

上記のページだけだとなんか物足りないので、ユーザー登録・ログイン機能を追加します。

$ 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 からユーザー登録ができます。

register.png

ここまででコードを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

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?