親です。

子ども産まれたんで育児とかについて書きます。映画とか心理学とかITとかの趣味についても書きます。

【Python】Django - PyCharm使ってDjangoプロジェクトの開始からHerokuデプロイまでの流れ

おつです。先日一日に5回くらいDjangoプロジェクトを作り直すという機会があったので、Djangoプロジェクトを作ってからHerokuデプロイするまでの流れをメモっておきたいと思います。
ちな、PyCharm有償版の機能をガンガン使っていくのでみんな有償版を買おう!!学生なら安くなるはず!

以下目次

PyCharmでDjangoPRJ立ち上げ

Pycharm立ち上げるとまずこの画面。 f:id:MaximoNelson49:20180922143027p:plain
新規プロジェクトの作成を選ぶと、プロジェクトのテンプレートを選ぶ画面がでる。 f:id:MaximoNelson49:20180922143016p:plain
ここでDjango用のPRJを開き、PRJ名とApp名を入力する。
すると、こんな感じの構成でPRJフォルダが出来上がる。
f:id:MaximoNelson49:20180922143130p:plain

(ちなみにここまでPycharmが自動でやってくれた作業はpython manage.py startprojectと仮想環境の作成、それとpython manage.py startappを状態のはず。たぶん)

設定フォルダの名称をPRJ名から「config」に変更

PycharmのDjangoテンプレートが作ってくれたディレクトリ構成で作業を進めてもいいんだが、samplePRJフォルダの中にあるsamplePRJのフォルダを見てほしい。ここは実際設定ファイルなどが格納されている。プロジェクト名と同じだと色々ややこしいので、このフォルダ名をconfigに変えてしまう。
フォルダ名を右クリックからリファクタリングができる。 f:id:MaximoNelson49:20180922143346p:plain
リファクタリングできるんだが、settings.pyの一部だけ変更されない箇所があるのでそこは手で書き換える必要がある。)
f:id:MaximoNelson49:20180922143524p:plain

python manage.py migrateの実施

これも実施。Djangoが提供する機能に関わるDBテーブルの作成をしてくれる。
f:id:MaximoNelson49:20180922143642p:plain
こうすると、 f:id:MaximoNelson49:20180922143652p:plain
こうなる。

デプロイのためのファイル作り

デプロイするに当たって、色々と設定ファイルを作成する必要がある。

  • Procfile
  • runtime.txt
  • 必要なライブラリのインストール(djangjo-toolbelt, whitenoise)
  • requirements.txt
  • settings.pyの修正
  • wsgi.pyの修正
    このページに詳しいのでみなさん読んでくれ。
    qiita.com

追記:setteing.py記載事項

一部リンク先だと欠けているところがあるので記載。

# Internationalization
# https://docs.djangoproject.com/en/2.1/topics/i18n/

LANGUAGE_CODE = 'ja'

TIME_ZONE = 'Asia/Tokyo'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')

.gitignore作る

こんな感じに今はしてる。

venv
__pycache__
staticfiles
db.sqlite3
*.py[co]

.idea/**/workspace.xml
.idea/**/tasks.xml

git作る - ローカルリポジトリの作成とコミットまで

herokuへはgitを利用してデプロイする。
git initでローカルリポジトリを作成し、git add .git commit -m "コミットメッセージ"までしてしまおう。

色々作る

ここは各自自由に作ってもらう。

heroku - アプリの登録

heroku loginしたのち、heroku create App名でアプリが作れる。

heroku - リモートリポジトリへpush

git push heroku masterでリモートリポジトリへpush。
その後heroku run python manage.py makemigrations App名heroku run python manage.py migrateすることも忘れずに。

こんなもん!!!