5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-03-10

目次

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の設定が必要

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?