Django入門:Corporateアプリの制作
はじめに
Corporateアプリの作成
cd djpj python manage.py startapp corporate
ルートとビューの作成
- ビュー(corporate\views.py)の編集
views.py
from django.shortcuts import render def index(request): return render(request, 'corporate/index.html', {}) def next(request): return render(request, 'corporate/next.html', {}) def the3rd(request): return render(request, 'corporate/the3rd.html', {})
- ルートファイル(corporate\urls.py)の作成
urls.py
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('next/', views.next, name='next'), path('the3rd/', views.the3rd, name='the3rd'), ]
djpj/urls.py
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('hello/', include('hello.urls')), path('lp/', include('lp.urls')), path('corporate/', include('corporate.urls')), path('admin/', admin.site.urls), ]
アプリの登録
djpj/settings.py
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'lp.apps.LpConfig', 'corporate.apps.CorporateConfig', ]
テンプレートの作成
- templates\corporateフォルダの作成
- テンプレートファイル(index.html)の作成
- テンプレートファイル(next.html)の作成
- テンプレートファイル(the3rd.html)の作成
corporate\templates\corporate\index.html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Corporate | Django Template Test</title> </head> <body> <div class="container"> <header> {% block header %} <h1>Corporate App</h1> {% endblock%} </header> {% block main %} <main> <p>This page is index page.</p> <a href="next/">Next</a> </main> {% endblock %} <footer> <smal>copyright©2020 mabo102.</smal> </footer> </div> </body> </html>
corporate\templates\corporate\next.html
{% extends 'corporate/index.html' %} {% block main %} <main> <p>This page is Next django template test.</p> <a href="../">Home</a> <a href="../the3rd/">The 3rd</a> </main> {% endblock %}
corporate\templates\corporate\the3rd.html
{% extends 'corporate/index.html' %} {% block header %} <h1>3rd Corporate App</h1> {% endblock %} {% block main %} <main> <p>This page is 3rd django template test.</p> <a href="../">Home</a> </main> {% endblock %}
動作確認
python manage.py runserver
終わりに
- 今回は、テンプレートファイルの拡張した使い方をご紹介しました。