ちょくちょくDjangoを触っている && 構成などメモ
6月くらいからちょくちょくDjangoでWebサイトを作っているので、 詰まったところとかハマったところをメモしていこうと思う。 Python3.4 + Django1.8 で構成している。
ディレクトリ構成について
ざっくりと、こんな感じ。
├── django_project │ ├── manage.py │ ├── pytest.ini │ ├── django_project │ ├── appA │ ├── appB │ └── templates ├── requirements.txt ├── reqs │ ├── common.txt │ ├── dev.txt │ └── prod.txt ├── Dockerfile ├── docker-compose.yml └── run_web.sh
こちら、参考にしたのは以下のページや書籍である。
上のページは、ありがたいことにディレクトリ構成以外にも詳しく述べられており、大変参考になった。 Two Scoops of Djangoはちょうど1.8版が出ていたので、購入してみた。
Docker-composeを試している。 今のところのdocker-compose.ymlはこのような感じ。 開発しながら、nginxやredisを追加する予定
storage: image: busybox volumes: - /var/lib/postgresql/data - /data command: "true" db: image: postgres volumes_from: - storage web: build: . command: ./run_web.sh volumes: - /vagrant:/code ports: - "80:8080" links: - db volumes_from: - storage
run_web.sh
にはmigration関連のコマンドとrunserverのコマンドが書いてある。gunicornやらを導入する際には書き換える。
その他メモる予定の事柄
- py.testについて
テストにはpy.testを用いる。python標準のunittestしか使ったことがないので、練習も兼ねている。 - jinja2 について
テンプレートエンジンにはJinja2を用いる。Django1.8からは標準でJinja2を選べるようになったが、設定でいろいろ困ることになったので、結局1.7以前のように
django-jinja
パッケージを用いた。 - CIについて wercker か drone を用いるので、それについても書く。droneは試したが、CIサービスを使うほうがラクかもしれない。
- CSS, JSについて 直接Djangoとは関係がないが、メモは残そうと思う。
- Git 運用について こちらも直接Djangoとは関係がないが、メモは残そうと思う。