Python入門 Djangoを使う(その5)
はじめに
不定期連載のPython入門第14回目です。今回もこまごまとした構文学習をすっとばしてDjangoを使っていきます。
前回までで、デフォルト生成ファイルの確認を行いました。今回は、Djangoを使って「Hello World」を表示させてみます。
今回の内容:
・Djangoを用いて簡単なHelloWorldを表示する。
appの作成
プロジェクトsample1を作成してあるとします(プロジェクトの作成の仕方は本シリーズの以前の記事をご参考ください。)
そのプロジェクトsample1の下にsampleApp1を作成しましょう。
$ cd /(sample1プロジェクトまでのパス)/sample1 $ python3 manage.py startapp sampleApp1
そうするとsampleApp1ディレクトリが出来上がり、
その配下に以下のファイルが作成されます。
__init__.py
admin.py
migrations/
tests.py
__pycache__/
apps.py
models.py
views.py
views.pyの編集
上記で生成されたviews.pyを編集していきます。
$ vi sampleApp1/views.py
以下のような記述があるので
from django.shortcuts import render # Create your views here.
↓以下のようにします。
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello World !")
これでviewを表示するindexメソッドが定義できたことになります。
urls.pyの編集
次にurls.pyファイルを編集します。
$ vi sample1/urls.py
from django.conf.urls import url
from django.contrib import admin
from sampleApp1 import views //←追加
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^sample/index',views.index), //←追加
]
上記のように2行追加してください。
これで、リクエストURLに対応して呼び出されるメソッドを、
sampleApp1の、先ほど追加したviews.py内の、indexメソッドであるということが定義されます。
settings.pyの編集
最後にsettings.pyファイルを編集します。
$ vi sample1/settings.py
以下のように編集します。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'sampleApp1', //←追加
]
これでsampleApp1を認識させます。
確認
それではサーバを起動し、URLにアクセスしてみましょう。
$ python3 manage.py runserver
アクセルするURLは以下になります。
http://127.0.0.1:8000/sample/index
「Hello World !」と表示されればOKです。
まとめ
Djangoのルーティングの流れが何となく理解できたのではないでしょうか。
それぞれのファイルの役割を掴むことのできるサンプルになりますので、その点を意識しながら作成してみてください。