Python、Djangoでオリジナルのシステム開発(1)
Python、Djangoで開発の練習のためにオリジナルのシステムを構築する。
システム要件
「自動献立システム」
- 好きな献立を入力する
- 今ある食材を入力する
- おすすめの献立を表示する
- 今ある食材を自動管理する
画面構成
- ログイン画面
- メニュー画面
- 献立入力画面
- 食材入力画面
- 献立表示画面
ログイン画面を開発する
さあ始めよう。
HTMLを作成しつつ、URLパスを通す。
プロジェクトのurls.py
from django.urls import path, include
path('RA/login', include('login.urls'))
loginアプリケーションの下にurls.pyを作成。
from django.urls import path
from . import views
urlpatterns = [
path('', views.login, name='login'),
]
templatesの下にlogin.htmlを作成。
<!DOCTYPE html>
{% load i18n static %}
{% get_current_language as LANGUAGE_CODE %}
<html lang="{{ LANGUAGE_CODE|default:'ja' }}">
<head>
<meta charset="UTF-8">
<title>ログイン</title>
</head>
<body>
<label for="user_id" >ユーザID</label>
<input type="text" id="user_id" maxlength="9" name="user_id">
<label for="password" >パスワード</label>
<input type="password" id="password" maxlength="20" name="password" >
</body>
</html>
ログインのview.py
from django.shortcuts import render
def login(request):
return render(request, 'SC1010login/SC1010login.html')
ログイン画面のベースが表示されるようになった。
Bootstrapを導入し、装飾する。
参考:Python Django入門 (4) - Qiita
インストール:Download · Bootstrap
インストール:Download jQuery | jQuery
参考:サインインページの実例~Bootstrap4移行ガイド
- 解凍したBootstrapをstaticフォルダの下に入れる。
- 以下をHTMLに追記
<link rel="stylesheet" href="{% static 'css\bootstrap.min.css' %}">
<script src="{% static 'js\jquery-3.4.1.min.js' %}"></script>
<script src="{% static 'js\bootstrap.bundle.min.js' %}"></script>
データベースにログインテーブルを作成する。
データベースを集中管理するアプリケーションを作成。
python manage.py startapp database
settings.pyに追加。
'database.apps.DatabaseConfig',
データベースアプリケーションのmodels.pyに定義を記述。
class User(models.Model):
"""ユーザ"""
user_id = models.CharField('ユーザID', max_length=8)
password = models.CharField('パスワード', max_length=20)
def __str__(self):
return self.user_id
変更をDjangoに通達、DBに反映。
python manage.py makemigrations database
python manage.py migrate
Django管理画面でユーザを作成できるようにする。 database/admin.py
from django.contrib import admin
from . models import User
admin.site.register(User)