Edited at

Django事始め: 2_プロジェクト作成

More than 1 year has passed since last update.


目次

Django事始め: 1_環境構築

Django事始め: 2_プロジェクト作成

Django事始め: 3_Apache連携

Django事始め: 4_MySQL連携

前回は環境構築まで進めたので今回は実際にプロジェクトを作成します。

ぶっちゃけ僕がまとめるより公式のチュートリアルを参考にするのが100倍為になるんですが。

はじめての Django アプリ作成

公式の丁寧な説明ですら難しく感じた自分のような初学者を対象にまとめます。


環境


  • 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設定とウェブサーバの設定を行います。

しんどいことは先に片付けるに限ります。


参考URL

はじめての Django アプリ作成

Django 1.5以降ではALLOWED_HOSTSの設定が必要