Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

今日から始めるDjango

More than 1 year has passed since last update.

Djangoの環境構築から簡単なHelloWordアプリの作成まで紹介します。
※ Python3系のインストールが完了している物とします。

環境構築

以下のコマンドを実行してください。

$ pip3 install Django

正常にインストールが完了したら、以下のコマンドでバージョンを確認する事が出来ます。

$ python3
>>> import django
>>> print(django.get_version())

これで環境構築は完了です、簡単ですね。
それでは、次にPJを作りましょう。

プロジェクト作成

プロジェクトを作成したいディレクトリに移動して、以下のコマンドを実行しましょう。
実行するだけで、mysiteというディレクトリとファイル一式が出来上がっているはずです。

$ django-admin startproject mysite

django-adminとは?

Djangoの管理タスクを行うためのユーティリティです。
大抵のチュートリアルではプロジェクト生成以降、django-adminは利用されず、manage.pyというdjango-adminの薄いラッパーを利用します。

manage.pyの行う事は次の二つです。
1. プロジェクトのパッケージを sys.path に追加する。
2. DJANGO_SETTINGS_MODULE 環境変数がプロジェクトの settings.py を指すように設定する。

始めて触る時期だと、違いにピンと来ない場合が多いと思います。
余計な処理をしているぶん、manege.pyの方が遅いの?というとそんな事もないので、始めて触る内は自分が参考にするチュートリアルの指示に従う方法が良いと思います。

それでは、生成されたファイル群を見ていきましょう。

Djangoが自動で生成する物

プロジェクト生成コマンドが成功すると、以下のファイル構成でプロジェクトが出来上がっていると思います。
スクリーンショット 2019-11-10 11.17.33.png

生成したプロジェクトのディレクトリで、以下コマンドを実行するとローカルサーバが立ち上がります。

$ python3 manage.py runserver

上記コマンド実行後、以下にアクセスすると画面が表示されます。簡単。
http://127.0.0.1:8000/

もし、8000番ポート(デフォルト)が他のサービスで利用している場合、以下の様にポートを指定して実行してください。

$ python3 manage.py runserver 8080

デフォルトのTOPページが確認出来たら、いよいよ自分で作った画面を表示していきましょう。

Djangoでアプリ生成

以下のコマンドをmysite上で実行してください。
firstappという名前でアプリが生成されているはずです。

$ python3 manage.py startapp firstapp

スクリーンショット 2019-11-10 11.47.23.png

firstappの配下にviews.pyという分かりやすいview定義ファイルがあります。
内容を次の様にしてください。

views.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("Djangoで作った最初のアプリケーション.")

viewを定義したら、次はルーティングの設定です。
firstappアプリ配下にurls.pyというファイルを作成し、内容を以下の通りにしましょう。

firstapp/urls.py
from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

アプリのルーティングの設定が終わったら、ルートプロジェクトのルーティングに追記をします。
mysite配下のurls.pyを、以下の通り修正します。

mysite/urls.py
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('firstapp/', include('firstapp.urls')),
    path('admin/', admin.site.urls),
]

実行確認

コーディングが終わったら再びサーバーを起動し、以下にアクセスしてみましょう。
http://localhost:8000/firstapp/

$ python3 manage.py runserver

画面に文字が表示されたと思います。
簡単な画面を作る上では以下の役割を理解するだけで出来てしまいます。

  1. ルーティングを設定するurls.py
  2. 画面を作るviews.py
  3. Djangoの管理タスクを行うためのユーティリティであるmanage.py

次回以降はDBを作成しよりアプリっぽくし、同じ様な手順をVisual Studioで行うとどうなるかを紹介します。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away