スポンサーリンク

[Django 2] Viewの作成方法 入門

Djangoでビューを作ってみます。

exampleプロジェクト、testappアプリケーションの構成は下記の通りです。

フォルダ構成

example
│  db.sqlite3
│  manage.py
│
├─example
│  │  settings.py
│  │  urls.py
│  │  wsgi.py
│  │  __init__.py
│  └─
│  
│
└─testapp
    │  admin.py
    │  apps.py
    │  models.py
    │  tests.py
    │  views.py
    │  __init__.py
    │
    └─migrations
            __init__.py

example/testapp/views.pyを編集

views.pyには、pythonでの処理を行ってから、レスポンスにビューを渡します。

今回は文字列を返していますが、htmlファイルなどを渡すことができます。

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello Django")

 

example/testapp/urls.pyを作る

アプリケーション単位で、urlの設定をします。

testappフォルダ内にurls.pyを作り、先ほど作ったviews.pyのindexをセットします。

from django.urls import path

from . import views

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

 

example/urls.pyの編集

こちらは、exampleプロジェクトのurls.pyです。testappのurls.pyと混同しないように気を付けましょう。

 

プロジェクトを作ったときのデフォルトの状態

from django.contrib import admin
from django.urls import path

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

このファイルに、testappのurls.pyの設定をincludeメソッドで適用させ、urlパターンを追加します。

編集後

from django.contrib import admin
from django.urls import path, include

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

これで、runserverで起動して

http://127.0.0.1:8000/testapp/にブラウザでアクセスすると、

views.pyのindexメソッドで指定したレスポンスが返ってきます。