アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


django-skelの使い方

基本は 公式ドキュメント の丸写しで、自分用メモです。

プロジェクトの作成

startprojectコマンドは、 --template= 以下のURLにある
プロジェクトテンプレートでプロジェクトを作成することができる。

my_project という名前のプロジェクトを作成。

$ django-admin.py startproject --template=https://github.com/rdegges/django-skel/zipball/master my_project

アプリケーションを作成

django-skelではアプリケーションはapps/内に作成する。

mkdir my_project/apps/myapp

git コミット

$ git init
$ git add .; git commit -m 'First commit'

pip でライブラリをインストール

以下コマンドで、django-skelで定義されている
必要なライブラリを自動でインストールしてくれる。

pip install -r reqs/dev.txt

ローカルで動かしてみる

$ python manage.py syncdb
$ python manage.py migrate
$ python manage.py runserver

Herokuにアプリケーションを作成

 heroku create [your_app_name_here]

gitでpushする

git push heroku master

Heroku のアドオンを追加する

$ heroku addons:add cloudamqp:lemur
$ heroku-postgresql:dev
$ scheduler:standard
$ memcachier:dev
$ newrelic:standard
$ pgbackups:auto-month
$ sentry:developer
cloudamqp

タスクキューイングを実行するためのアドオン。

heroku-postgresql

PostgreSQL

scheduler

cronみたいにジョブを定期実行。

memcachier

キャッシュ。

newrelic

アプリケーションのモニタリング。
こちらに詳しく書いてます。 Heroku のDjangoアプリケーションに便利なパフォーマンス監視ツール "New Relic" を導入するhttp://source.hatenadiary.jp/entry/2013/02/07/142042

pgbackups

PostgreSQLのバックアップツール。S3に自動バックアップしてくれる。

sentry

デバック用のエラー集約ツール。

環境変数を設定

# S3用の設定
$ heroku config:add AWS_ACCESS_KEY_ID=xxx
$ heroku config:add AWS_SECRET_ACCESS_KEY=xxx
$ heroku config:add AWS_STORAGE_BUCKET_NAME=xxx

#settingsファイルの設定
heroku config:add DJANGO_SETTINGS_MODULE=my_project.settings.prod

# ランダムな40桁の文字列を設定
$ heroku config:add SECRET_KEY=xxx

40文字の文字列の取得方法は以下

from random import choice
print ''.join([choice('abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)') for i in range(50)])

静的ファイルをS3にアップロード

$ heroku run python manage.py collectstatic --noinput
$ heroku run python manage.py compress