Python | Django | Viewを利用した複数のアプリケーション作成方法

2021年7月19日

公開日:2021/7/19
更新日:2021/7/21

Pythonには,DjangoというWebアプリケーションフレームワークがある.フレームワークのため,Djangoを利用するとWebアプリを通常よりも短時間で開発することが可能になる.

前記事にて,「Viewを利用したエラーページへの対処方法」を記した.前記事での設定をそのまま引き継いだ上で,本記事では,「Viewを利用した複数のアプリケーション作成」を以下にて記す.

◆実施環境

Python 3.8.8
Django 3.2.3

■Viewを利用した複数のアプリケーション作成

ターミナルを開き,”conda activate 仮想環境名”を実行し,仮想環境に移行する(移行方法の詳細はこちら).その後,"cd viewproject"を実行することによって,”viewproject”のディレクトリに移動し,”python manage.py startapp アプリ名”を実行する.アプリ名は,"user"とした.

(djangoenv) C:\Users\shiro\Desktop\210517_python development\myviewtest\viewproject
>python manage.py startapp user

プロジェクト"viewproject"の下に,アプリ"restaurant"があるが,今回作成したアプリ"user"が作成される.

“viewproject/settings.py"の"INSTALLED_APP"に今回作成したアプリ名"user"を以下のように追記する.

INSTALLED_APPS = [
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'restaurant',
  'user' # 追記箇所
]

“viewproject/user"に以下のように"urls.py"を作成する.

“viewproject/user/urls.py"を以下のように編集する.

from django.urls import path
from . import views

app_name = 'user'

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

上記にて,"user_list"についてのコードを作成したので,"viewproject/user/views.py"に追記し,以下のように編集する.

from django.shortcuts import render

def user_list(request): # 以下追記箇所
  return render(request, 'user/user_list.html')

上記にて,"user/user_list.html"についてのコードを作成したので,"templates"フォルダに,以下のように,"user"フォルダを作成し,その中に,"user_list.html"を作成する.

“viewproject/urls.py"に追記し,以下のように編集する.

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

urlpatterns = [
  path('admin/', admin.site.urls),
  path('restaurant/', include('restaurant.urls')),
  path('user/', include('user.urls')), # 追記箇所
]

handler404 = views.error_404page
handler500 = views.error_500page

“viewproject/templates/user/user_list.html"を以下のように編集する.

<h2>登録者リスト</h2>
<a href="{% url 'restaurant:menu_list' %}">メニューリストへ!</a>

ターミナルを開き,”viewproject”のディレクトリにて,”python manage.py runserver”を実行する.以下内容が出力される.

(djangoenv) C:\Users\shiro\Desktop\210517_python development\myviewtest\viewproject
>python manage.py runserver

System check identified no issues (0 silenced). # 以下出力箇所
July 19, 2021 - 15:10:40
Django version 3.2.3, using settings 'viewproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

上記の"http://127.0.0.1:8000/"をクリックすると,ブラウザで以下が表示される.

上記にて設定した"http://127.0.0.1:8000/user/user_list"をブラウザのURLに入力すると,以下画面に遷移する.

上記の"メニューリストへ!"をクリックすると,以下メニューリストページに遷移する.

以上