目次
Django事始め: 1_環境構築
Django事始め: 2_プロジェクト作成
Django事始め: 3_Apache連携
Django事始め: 4_MySQL連携
前回は環境構築まで進めたので今回は実際にプロジェクトを作成します。
ぶっちゃけ僕がまとめるより公式のチュートリアルを参考にするのが100倍為になるんですが。
公式の丁寧な説明ですら難しく感じた自分のような初学者を対象にまとめます。
環境
- CentOS 7.1
- Apache 2.4.6
- pyenv 1.0.7
- anaconda 3-4.3.0
- django 1.10.5
- mariadb-5.5.52
Djangoの構成
Djangoにはプロジェクトとアプリケーションという概念があります。
すごくざっくり言うと、プロジェクトの中にいくつものアプリケーションが入っています。
プロジェクトというのはDjangoで作りたいサイトだったりシステムだったり、一番大きな概念です。
アプリケーションはそのサイト内の細々とした機能(記事投稿とか投票システムとか)のことです。
アプリケーションの粒度は小さい方がいいらしいです。
なるべく細切れにして、それぞれのアプリケーションは1つの仕事に専念する。
アプリケーション同士の結合は疎にする(互いに依存させない)。
これによって簡単に別のプロジェクトにアプリケーションを流用することができるらしいです。
プロジェクト作成
ということで何はともあれ、プロジェクトの作成から始めます。
適当なディクトリ、(/home/django とか作って)に移動します。
django-admin startproject PROJECT_NAME
PROJECT_NAMEにお好みのプロジェクト名を入れてください。
ただし、testやdjangoなどのpythonがインポートしそうな名前はバッティングするので避けましょう。
あと、作成する場所はapacheのドキュメントルートは避けるらしいです。
では早速、開発用の簡易サーバで確認します(こいつは公開用には使えないです、あくまで開発用)。
cd PROJECT_NAME
python manage.py runserver 0.0.0.0:8000
Vagrantなり、Djangoを動かしているサーバのIPアドレスの8000番ポートにブラウザでアクセスします。
http://192.168.0.2:8000
てな感じで。
もしくはwget --spider -S localhost:8000
Vagrantとか、Djangoが動いているサーバとアクセスするPCが別だと
DisallowedHost at...とでます。
settings.pyに許可ホストを加えます。エディタで開きましょう。
今回はとりあえず全て許可にします。
ALLOWED_HOSTS = ['*']
再びブラウザにアクセスして「It worked!」と表示されれば成功。
さて、これであとはアプリケーションをどんどん作っていろんな機能をつけていくんですが、次回は先にDB設定とウェブサーバの設定を行います。
しんどいことは先に片付けるに限ります。