Djangoは、Pythonで手軽にWebアプリを構築出来るフレームワークです。
本ブログも、Djangoをベースに作成しています。
本記事では、Djangoで新しいアプリを追加する手順を以下にまとめます。
新しいDjangoアプリケーションを作成する
まず、Djangoプロジェクト内に新しいアプリケーションを作成します。
python manage.py startapp your_app_name
your_app_name
は新しいアプリケーションの名前に置き換えてください。
新しいアプリケーションを設定に追加する
settings.py
ファイルを開き、INSTALLED_APPS
リストに新しいアプリケーションを追加します。
INSTALLED_APPS = [
...
'your_app_name',
...
]
モデルを作成する
models.py
ファイルにデータベースモデルを定義します。
from django.db import models
class YourModel(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
def __str__(self):
return self.name
マイグレーションを作成・適用する
モデルをデータベースに反映させるためにマイグレーションを作成し、適用します。
python manage.py makemigrations your_app_name
python manage.py migrate
管理画面にモデルを登録する
管理画面からモデルを操作できるように、admin.py
ファイルを編集します。
from django.contrib import admin
from .models import YourModel
admin.site.register(YourModel)
ビューを作成する
views.py
ファイルにビューを定義します。
from django.shortcuts import render
from .models import YourModel
def index(request):
items = YourModel.objects.all()
return render(request, 'your_app_name/index.html', {'items': items})
URLパターンを設定する
urls.py
ファイルに新しいアプリケーションのURLパターンを定義します。プロジェクトのurls.py
でインクルードすることもお忘れなく。
アプリのurls.py
(新しく作成):
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
プロジェクトのurls.py
:
from django.contrib import admin
from django.urls import include, path
from your_app_name import urls as your_app_urls
urlpatterns = [
# 以下を追加
path('your_app_name/', include(your_app_urls)),
...
]
テンプレートを作成する
templates
フォルダをアプリケーションディレクトリ内に作成し、その中にHTMLファイルを置きます。例としてindex.html
:
<!DOCTYPE html>
<html>
<head>
<title>Your App Name</title>
</head>
<body>
<h1>Your App Name</h1>
<ul>
{% for item in items %}
<li>{{ item.name }}: {{ item.description }}</li>
{% endfor %}
</ul>
</body>
</html>
ローカルサーバーで確認する
ローカルサーバーを起動して新しいアプリケーションが正しく動作することを確認します。
python manage.py runserver
ブラウザでhttp://localhost:8000/your_app_name/
にアクセスして、ページが表示されることを確認してください。
新しいDjangoアプリケーション追加の基本的な手順は以上です。