LoginSignup
12
8

More than 5 years have passed since last update.

Djangoで"Hello World"を表示するまで①

Last updated at Posted at 2017-12-30

Djangoのチュートリアルを周回しているので、アウトプットを兼ねてノートを残す。
前提としてMacOSとAnacondaを使っている。
Djangoの環境設定に関してはhttps://qiita.com/TsubasaTakagi/items/97aa3bb9025d4a801283を見てくれるとよい。

プロジェクトの作成

Djangoでは、インスタグラムのようなサイト全体を”プロジェクト”という。そしてその中の様々な機能、たとえば写真投稿機能やいいね機能を”アプリケーション”という。

それではまず、大枠となるプロジェクトの作成をしていく。

ターミナルを開いて

source activate py36

と打ち込んで仮想環境を立ち上げる。
py36の部分は各々の仮想環境名を打ち込んで実行すること。

立ち上がったら

django-admin startproject プロジェクト名

と打ち込むとプロジェクトが作成される。

今回は、

django-admin startproject myblogapp

として実行して行く。
これを打つと、myblogappというディレクトリが作成される。

ディレクトリの中身をのぞいて見ると、

スクリーンショット 2017-12-30 11.03.59.png

いろんなファイルが自動でつくられていることが確認できる。

各ファイルについて軽く説明して行くと、

  • manage.py:設定を読み込む命令を書いている
  • init.py:pythonのパッケージ
  • setting.py:言語 設定やアクセス制御などの設定が書かれている
  • url.py:applicationをどういうurlで呼ぶかのパターンを定義している
  • wsgi.py:他のwebサーバとDjangoを連携する(web server gateway interfaceの略)

ファイルの説明に関しては、今後コードを書いて行く上で理解していけばよい。

サーバーを立ち上げる

 仮想環境を立ち上げた上で

python manage.py runserver

と打ち込んであげると、サーバーが立ち上がる。

スクリーンショット 2017-12-30 11.18.48.png

画像のように、サーバーが立ち上がったらhttp://127.0.0.1:8000/にアクセスしてみると、

スクリーンショット 2017-12-30 11.21.03.png

サーバーが立ち上がっているのが確認できる。

※サーバーを止めたいときにはCtrl+C

プロジェクトの初期設定

初期設定を行なっていきたいが、MTVについて理解していない方に関しては呪文のように聞こえる部分もあるかもしれない。その場合は、「いまは初期設定をしているんだなぁ」程度に読み流してもらってよい。

まず、初期設定として、プロジェクトの言語を日本語に、タイムゾーンを日本時間に合わせる。

setting.py
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'

の部分を

setting.py
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'

と書き換えてあげると、

スクリーンショット 2017-12-30 11.29.55.png

先ほど英語だったのが、日本語に変わっていることが確認できる。

次に、データベースの統合、移行を行なっていく。意味わからない方は、設定ファイルを反映させると考えてもらってよい。

python manage.py migrate

とターミナルに打ち込むと、データベースのテーブルが作成される。

アプリケーションの追加

python manage.py startapp アプリケーション名

とターミナルに打つとアプリケーションが追加される。
アプリケーション名の部分は複数形が望ましい。

今回は

python manage.py startapp posts

として実行する。

すると、

スクリーンショット 2017-12-30 11.43.46.png

といったように、新たにpostsディレクトリがつくられ、その中に様々なファイルが自動生成されているのが確認できる。

新しく追加されたディレクトリと各ファイルについて簡単に記す。

  • migrations:データベースのテーブルを管理する設定ディレクトリ
  • views.py:ページをどう整形するかを記す
  • models.py:データベースとwebページを連携するための設定ファイル
  • apps.py:変数定義や命令を書く

これも先ほどのプロジェクトと同様、コードを書くうちに理解していけばよい。

…今回はここまでとし、次回からは実際にファイルにコードを書き加えて行く。

12
8
1

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
12
8