Python | Django | テンプレートの使い方
公開日:2021/6/18
Pythonには,DjangoというWebアプリケーションフレームワークがある.フレームワークのため,Djangoを利用するとWebアプリを通常よりも短時間で開発することが可能になる.
Djangoにおけるテンプレート(template)の基本的な使い方を以下に記す.なお,プロジェクトおよびアプリケーション(アプリ)の作成後,テンプレートの使い方を記す.
◆実施環境
Python 3.8.8
Django 3.2.3
■テンプレートの使い方
新しくフォルダ"mytemptest"を作成し,VS Codeから当該フォルダを開く.
フォルダを開くを以下のようになる.
“View"をクリックし,"Terminal"を開く.
赤枠の下矢印をクリックし,"Command Prompt"をクリックする."conda activate djangoenv"を入力し,仮想環境へ移動する.
Djangoプロジェクトを作成するため,"django-admin startproject プロジェクト名"を入力する.プロジェクト名を"tmp_project"としたので,"django-admin startproject tmp_project"を入力した.プロジェクトが作成されると以下のようになる.
“cd tmp_project"でプロジェクト内に移動し,プロジェクトにアプリを作成するため,"python manage.py startapp アプリ名"を入力する.アプリ名を"tmp_app"としたので,"python manage.py startapp tmp_app"を入力した.アプリが作成されると以下のようになる.
“tmp_app"にフォルダである"templates"を作成し,当該フォルダ内に"index.html"を作成する.作成後,以下のようになる.
“tmp_app/templates/index.html"に以下コードを記述する.
<html>
<head>
<title>This is how to use templates</title>
</head>
<body>
<h1>Hello World!!</h1>
</body>
</html>
“tmp_app/views.py"を以下のように編集する.
from django.shortcuts import render
def index(request):
return render(request,'index.html')
“tmp_app"に"urls.py"を作成する.
“tmp_app/urls.py"に以下コードを記述する.
from django.urls import path
from . import views
app_name = 'tmp_app'
urlpatterns = [
path('',views.index,name='index')
]
“tmp_project/urls.py"を以下のように編集する.
from django.contrib import admin
from django.urls import path, include # 追記箇所
urlpatterns = [
path('admin/', admin.site.urls),
path('template_app/',include('tmp_app.urls')), # 追記箇所
]
“tmp_project/settings.py"の"INSTALLED_APPS"を以下のように編集する.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'tmp_app', # 追記箇所
]
tmp_projectのディレクトリで,"python manage.py migrate"を実行する.以下のように出力されれば成功.
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
“tmp_project"のディレクトリで以下のように"python manage.py runserver"を入力し,実行をする.以下が出力されるので,"http://127.0.0.1:8000/"をクリックする.
System check identified no issues (0 silenced).
June 18, 2021 - 14:56:06
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.
ブラウザに以下が出力される.
URLに"http://127.0.0.1:8000/template_app/"を入力すると,"tmp_app/templates/index.html"に記述した内容が,以下のようにブラウザに出力される.
以上