0
0

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 3 years have passed since last update.

Djangoを使ったWEBアプリケーションの開発【リクエスト処理編】

Last updated at Posted at 2020-09-17

アプリケーション追加編の続き

Djangoのリクエスト処理フロー

Djangoのリクエスト処理フローは下記のようになっています。
今回は、ルーティング・ビューだけを使い、ビューの関数に記載した「Hello, World!」を表示する。
フロートしては、ブラウザからのリクエスト→project1.urls→posts.urls→views.indexとなる。
django_flow.png

ルーティング(urls.py)

ブラウザからのリクエストを受けたURLパターンとルーティングファイル内に記述されているパターンからどのファイルを呼び出すかを決める。
アプリ内とプロジェクト内でそれぞれ2つのurls.pyが存在し、それぞれがアプリ内とプロジェクト内の動作振り分けを定義している。

ビュー(views.py)

ルーティングで呼び出された関数の動作を返す。
データベースからデータを呼び出す必要があればデータベースへアクセスする記述などを記載する。また、そのデータを必要な形に加工しテンプレートに渡す動作を記述する。

Hello, World!を表示させてみよう!

今回作成したproject1フォルダ内にあるpostsフォルダの中あるviews.pyにリクエストを受けた際にHello, World!を返す関数を記述する。

views.py
from django.shortcuts import render
from django.http import HttpResponse #この行を追加

def index(request): #この行を追加
    return HttpResponse("Hello, World!") #この行を追加

次に、postsフォルダ内にurls.pyを作成し、アプリ(posts)内での定義を行う。

アプリ名/urls.py
from django.urls import path
from . import views

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

最後に、project1フォルダ内のurls.pyを編集していく。

プロジェクト名/urls.py
from django.contrib import admin
from django.urls import path,include #includeを追加

urlpatterns = [
    path('admin/', admin.site.urls),
    path('posts/', include('posts.urls')), #この行を追加
]

サーバーを起動し、「http://127.0.0.1:8000/アプリ名/」(今回の場合posts)にアクセスし、「Hello, World!」が表示されていれば成功です。
image.png
テンプレート追加編

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?