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メソッドで指定したレスポンスが返ってきます。