Djangoをherokuで動かす
表題のことがやりたかった。codeanywhereからでもできたのがうれしい。
herokuチュートリアル
環境構築に関しては割愛。
で、サインアップできたとして、ここをやればなんとなく流れがわかる。このチュートリアルの例がDjangoだったのでこれを参考にやればよい。ソースがわからなくなったらgitを見に行けばいい。良いお手本なので、一回は手を動かすに越したことはない。
流れとしてはこんな感じ
- git clone
- heroku login
- heroku create
- git push heroku master
微妙に違っているところもあれば、中には有料のaddonといった簡単には試せないものもある。これでおおむね理解ができる。
django on heroku
で、実際に自分でやるにはちょっとしたコンフィグが必要になる
heroku本家による設定ガイドはこちら
- プロジェクト構成
チュートリアルで落としたgitのソースを見るとプロジェクトルートをgitのルートにしたらいい事がわかる。ほかのディレクトリ構成だとだめなのかはわからないので、素直にチュートリアルのとおりやっておいたら良い。「django-admin startproject XXX」とやってgitの環境もそろったところでこんなディレクトリ構成になるかと
XXX |-.git |-XXX - manage.py - .gitignore - README.md
- gunicornのインストール
チュートリアルで見る限りgunicornで動かす事になるのでインストール。インストールはPipfileに書き込むためにもpipenvコマンドを使ってインストール。
pipenv install gunicorn
- Procfileの作成
これも必要なので作っておく
echo 'web: gunicorn XXX.wsgi' > Procfile
XXXの部分はstartprojectしたプロジェクト名になる
- django_herokuのインストール
さらにherokuで動かす用のライブラリもいれる。こちらもpipenvを使ってインストール
pipenv install django-heroku
- settings.pyの編集
インストールが終わったらsettings.pyに下記の項目を追記。設定ガイドにはimportの文が無いので注意
import django_heroku django_heroku.settings(locals())
あとはpython manage.py startappでもなんでもやってアプリケーションを作ったらいい。
codeanywhereでもできる
という事で、これらをcodeanywhereでもやってみたらできた。shellが動くのでなんでもできちゃう形だ。herokuCLIもcodeanywhere上にインストールできる。なんか途中で環境変数の設定でダメだった箇所があるけど、どの場面だったかは覚えていない。やったことは覚えてるので、そのコードはこちら
echo 'export LC_ALL=C.UTF-8' >> .bashrc echo 'export LANG=C.UTF-8' >> .bashrc
文字列を見る限り文字コードの設定とかそういったところかと。
これでiPadによる開発と公開ができないわけではなくなったが、正直iPadでやる開発はレスポンスとかそういうところでいろいろつらい。キーボードでもあれば比較的効率は良いのかもしれない。ただ、手持ちのBlueToothキーボードがどうしてもUS配列になっちゃうんですよねぇ。これがなんとかなればいうことないんですがね。