Python Django 入門トップページ


リレーションシップを使いこなそう

  1. 概要
  2. プロジェクトの作成
    1. プロジェクトの作成
    2. Config
    3. university アプリケーションを作る
    4. トップページのビュー
  3. 一対多のリレーションシップ
  4. 多対多のリレーションシップ
  5. 多対多のカスタム中間テーブル

リレーションシップを使いこなそう

プロジェクトの作成

プロジェクトの作成

プロジェクトを作成する.プロジェクト名は django_relationship にする.

django-admin startproject django_relationship ⏎

Config

基本設定を行う.

django_relationship/settings.py (抜粋)# Internationalization
# https://docs.djangoproject.com/en/4.0/topics/i18n/

LANGUAGE_CODE = 'ja'

TIME_ZONE = 'Asia/Tokyo'

USE_I18N = True

USE_TZ = False

university アプリケーションを作る

プロジェクト内のアプリケーション名を university として,このアプリケーションを作成する.

cd django_relationship ⏎
python manage.py startapp university ⏎

作成した university アプリケーションをプロジェクトに登録する.

django_relationship/settings.py (抜粋)# Application definition

INSTALLED_APPS = [
    'university.apps.UniversityConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

トップページのビュー

トップページ (/university/) のビューを作る.ここから,campus 一覧と faculty 一覧へのリンクを作成する.

university/views.pyfrom django.shortcuts import render

# Create your views here.

def index(request):
    return render(request, 'index.html')

university フォルダ内に,templates フォルダを作成し,さらにその中に index.html ファイルを作成する.

university/templates/index.html<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="utf-8">
    <title>University</title>
</head>
<body>
<h1>University アプリケーション</h1>
<ul>
    <li>
        <a href="campus/">
          Campus 一覧
        </a>
    </li>
    <li>
        <a href="faculty/">
          Faculty 一覧
        </a>
    </li>
</ul>
</body>
</html>

トップページ (http://127.0.0.1:8000/university/) にアクセスしたときに,上で定義した index 関数が呼び出されるようにルートを定義する.このために,university フォルダ内に urls.py ファイルを作成して,次の内容を入力する.

university/urls.pyfrom django.urls import path

from . import views

app_name = 'university'
urlpatterns = [
    path('', views.index, name='index'),
]

university アプリケーションの urls.py をプロジェクトから参照できるように,django_relationship/urls.py を編集する.

django_relationship/urls.py# from django.contrib import admin
from django.urls import path
from django.urls import include

urlpatterns = [
    # path('admin/', admin.site.urls),
    path('university/', include('university.urls')),
]

とりあえず Web サーバを起動してトップページだけは表示できることを確認しておく(もちろん Campus一覧やFaculty一覧はまだ404エラーになる).

python manage.py runserver ⏎

django2022-00042