장고 앱 개발 【친구 목록】~그 ⑧~

4875 단어 파이썬장고

소개



이번에는 장고를 사용하여 친구 목록 앱을 만들려고합니다.
프로젝트 이름은 Tomodachi

배포



Heroku에서 앱 만들기


# Herokuでアプリ作成
$ heroku login
$ heroku create tomodachi-list
→ https://tomodachi-list.herokuapp.com/ | https://git.heroku.com/tomodachi-list.git

.gitignore 설정


# .gitignoreファイルの作成と編集
db.sqlite3
*.pyc
env/*
.Python
[Bb]in
[Ii]nclude
[Ll]ib
[Ll]ib64
[Ll]ocal
[Ss]cripts
pyvenv.cfg
.venv
pip-selfcheck.json
# キャッシュを消して、.gitignoreを追加する
$ git rm -r --cached .
$ git add .
$ git commit -m '.gitignore is now working'

배포에 필요한 파일 만들기 및 설정


# Procfile(Heroku上での実行コマンド)を作成して、以下の記述を追記
web: gunicorn myproject.wsgi
# アプリケーションサーバー(gunicorn)をインストール
$ pip install gunicorn
$ pip install --upgrade pip
# django-herokuをインストール
$ pip install django-heroku
# requirements.txtにモジュール追加
$ pip freeze > requirements.txt

데이터베이스 설정



config/setting.py
# データベースを設定(django-herokuを使って)
# 以下の記述でHeroku用の設定が一括でできるらしい
import django_heroku
django_heroku.settings(locals())

배포


# githubにデプロイ
$ git add -A
$ git commit -m 'for deploy'
$ git push origin main

# herokuにデプロイ
$ git push heroku main
# herokuにマイグレーション
$ heroku run python manage.py migrate

# 管理者ユーザーを作成
$ heroku run python manage.py createsuperuser

배포까지는 순조롭게 진행되었지만 다음 오류가 발생하여 해결되었습니다.




# エラーログを見てみる
$ heroku logs --tail


すると、こんなエラーがあった
ModuleNotFoundError: No module named 'myproject'
これはProcfileに書いた記述です
# myprojectではなくconfigに変更(config内のwsgiを読まないといけない?
)
# djangoのリファレンス通りにするのではなく書き換えないといけなかったみたいです。
web: gunicorn myproject.wsgi

↓↓↓↓↓↓↓↓

web: gunicorn config.wsgi
# githubにデプロイ
$ git add -A
$ git commit -m 'for deploy second'
$ git push origin main

# herokuにデプロイ
$ git push heroku main

사이고에게



이번에는 Heroku에 배포했습니다.
Django와 Heroku의 조합은 배포하기가 매우 쉬웠습니다.
django-heroku 최강!

참고 기사는 이쪽



【배포에 관하여】





【오류에 관하여】

이것은 거의 자력으로 해결할 수 있었다.
django의 레퍼런스대로는 안될 때도 있네요!

좋은 웹페이지 즐겨찾기