記事を書くきっかけ
Djangoを用いてWebアプリのサーバー側の設定をしようと思い、そのためのコマンドや初期設定を備忘録としてまとめました。
目次
- Djangoとは
- Djangoを用いたWebアプリ作成手順
- Djangoプロジェクト作成
- アプリケーション作成
- 初期設定
- アプリケーション実行
- モデルをデータベースに適用する
- 管理画面のログイン情報設定
- まとめ
Djangoとは
DjangoはPythonで実装されたWebアプリケーションフレームワークの1つであり、Webアプリケーションの実装に必要な機能が一通り揃っているフルスタックなフレームワークです。
Djangoを用いたWebアプリ作成手順
1. Djangoプロジェクト作成
Djangoのプロジェクトを作成するにはまず、以下のコマンドでDjangoのプロジェクトを作成します。
sample
はプロジェクト名です。
$ django-admin startproject sample
コマンド実行後のディレクトリ構成は以下のようになります。
.
├── manage.py
└── sample
├── __init__.py
├── wsgi.py
├── urls.py
└── setting.py
ファイル名 | 役割 |
---|---|
manage.py | 開発用サーバーの起動,データベースへデータ反映,Djangoの操作管理 |
__init__.py | パッケージ読み込んだ際の初期化用ファイル |
wsgi.py | Djangoを本物のWebサーバー上で動作させるファイル |
urls.py | ブラウザからアクセスしたURLに対応した処理を定義するためのファイル |
setting.py | Djangoプロジェクト全体の設定を定義するファイル |
2. アプリケーション作成
Djangoプロジェクトを作成したらプロジェクト内へ移動し、以下のコマンドを実行してWebアプリのフォルダを作成します。
$ python3.10 manage.py startapp sample_app
コマンド実行後のディレクトリ構成は以下のようになります。
.
├── manage.py
├── sample
└── sample_app
├── admin.py
├── apps.py
├── models.py
├── test.py
└── setting.py
ファイル名 | 役割 |
---|---|
admin.py | 管理画面の設定を行うファイル |
apps.py | アプリ自体の設定を行うファイル |
models.py | データベースの操作をするファイル |
test.py | Djangoアプリのテストを書くためのファイル |
views.py | 実際の処理を書くファイル |
3. 初期設定
Webアプリフォルダが作成できたらsample/settings.py
のINSTALLED_APPSを書き換え、WebアプリがDjangoとリンクするようにします。ついでに使用する言語と時間を日本仕様にしています。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'sample_app.apps.SampleAppConfig' # 追加
]
# 使用する言語を日本語にする
LANGUAGE_CODE = 'ja'
# 時間をTokyoにする
TIME_ZONE = 'Asia/Tokyo'
sample/settings.py
を変更したら、次はsample/urls.py
を変更することでURLとWebアプリをリンクさせます。
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('/', include('sample_app.urls')),
]
この設定が終わったら、views.pyやmodels.pyを書いてアプリを作成します。
4. アプリケーション実行
アプリの挙動をブラウザで確認したい時は、以下のコマンドを実行します。
$ python3.10 manage.py runserver
5. モデルをデータベースに適用する
データベースを使用する際は、models.pyで作成したモデルをデータベースに適用する必要があり、以下のコマンド2つでそれを行います。
1つ目のコマンドでmakemigrationファイルが作成され、2つ目のコマンドでデータベースに反映させています。
$ python3.10 manage.py makemigrations sample_app
$ python3.10 manage.py migrate
6. 管理画面のログイン情報設定
Djangoフレームワークにはあらかじめ管理画面が備わっており、その管理画面にログインするためのユーザーネームとパスワードを以下のコマンドで設定します。
$ python3.10 manage.py createsuperuser
まとめ
ファイルが多くやや複雑ですが、ルーティングやデータベースの管理が一括でできる点は便利でした。