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が自動で生成する物
プロジェクト生成コマンドが成功すると、以下のファイル構成でプロジェクトが出来上がっていると思います。
生成したプロジェクトのディレクトリで、以下コマンドを実行するとローカルサーバが立ち上がります。
$ 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
firstappの配下にviews.pyという分かりやすいview定義ファイルがあります。
内容を次の様にしてください。
from django.http import HttpResponse
def index(request):
return HttpResponse("Djangoで作った最初のアプリケーション.")
viewを定義したら、次はルーティングの設定です。
firstappアプリ配下にurls.pyというファイルを作成し、内容を以下の通りにしましょう。
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
アプリのルーティングの設定が終わったら、ルートプロジェクトのルーティングに追記をします。
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
画面に文字が表示されたと思います。
簡単な画面を作る上では以下の役割を理解するだけで出来てしまいます。
- ルーティングを設定するurls.py
- 画面を作るviews.py
- Djangoの管理タスクを行うためのユーティリティであるmanage.py
次回以降はDBを作成しよりアプリっぽくし、同じ様な手順をVisual Studioで行うとどうなるかを紹介します。