Python | Django | テンプレートにおけるインスタンスメソッドの使い方
公開日:2021/6/25
Pythonには,DjangoというWebアプリケーションフレームワークがある.フレームワークのため,Djangoを利用するとWebアプリを通常よりも短時間で開発することが可能になる.
前記事にて,「テンプレートにおける静的ファイルの使い方」を記した.前記事での設定をそのまま引き継いだ上で,本記事では,「テンプレートにおけるインスタンスメソッドの使い方」を記す.
◆実施環境
Python 3.8.8
Django 3.2.3
■テンプレートにおけるインスタンスメソッドの使い方
“tmp_app/views.py"の下部にクラスを追記する.
class Cake:
def __init__(self,name,country,maker,material):
self.name = name
self.country = country
self.maker = maker
self.material = material
def monblanc(request):
cake = Cake('Mont Blanc','France','Angelina','chestnut')
return render(request,'monblanc.html',context={
'cake':cake
})
“tmp_project/templates"に"monblanc.html"を作成する.作成後のプロジェクトフォルダの構成は以下になる.
“monblanc.html"は以下のように編集する.
Cake name (ケーキ名): {{ cake.name }}<br>
Birthplace (発祥の国): {{ cake.country }}<br>
Origin store (発祥店): {{ cake.maker }}<br>
Material (原材料): {{ cake.material }}(栗)
“tmp_app/urls.py"にpathを追加する.追加後の"urls.py"は以下のようになる.
from django.urls import path
from . import views
app_name = 'tmp_app'
urlpatterns = [
path('',views.index,name='index'),
path('home/<choco_name>/<choco_maker>',views.home,name='home'),
path('sub1',views.sub1,name='sub1'),
path('sub2',views.sub2,name='sub2'),
path('chocolate',views.chocolate,name='chocolate'),
path('monblanc',views.monblanc,name='monblanc'), # 追記箇所
]
ターミナルを開き,”conda activate 仮想環境名”を実行し,仮想環境に移行する.”tmp_project”のディレクトリで”python manage.py runserver”を実行すると,以下が出力される.
System check identified no issues (0 silenced).
June 25, 2021 - 16:41:49
Django version 3.2.3, using settings 'tmp_project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
“http://127.0.0.1:8000/”をクリックし,ブラウザを開くと以下のように表示される.
ブラウザのURLに”http://127.0.0.1:8000/template_app/monblanc”を入力し,ブラウザを開くと,"monblanc.html"に記載した内容が以下のように出力される.
以上