ウェブアプリの作成をDjango で行う際に、最初に行う一連の設定をこの記事で紹介しておきます。
最初の設定等をいちいち覚えておきたくないので,自身の備忘録として本記事を掲載しております。細かいことは書かずに、何をすればよいかについてざっと書いていますので、Djangoで新たにアプリを立ち上げる時に参考にしてください。
ちなみに以下ソフトウェアのインストールは済ませていることが前提です。
自身のPCにインストールするのみなのですぐにできると思います。
事前にインストールしておくもの
- python・・・いわずと知れたインタープリタ型の高水準汎用プログラミング言語です。
- Django・・・Pythonで実装されたWebアプリケーションフレームワークです。これを利用したWEBサービスが多く存在しています。
- PostgreSQL・・・フリーで利用可能なオープンソース型関係データベース管理システム(RDBMS)です。WEBアプリのメモリー的な存在。
- PyCharm・・・Python(Django)の統合開発環境 (IDE)です。このソフトで開発を行います。
開発の初期設定は以下の流れで行う
- コマンドプロントにて行う設定
- データベースの設定
- Python の設定
- Pycharmの設定
- コードの修正
コマンドプロントを立ち上げる
➀コマンドプロンプトを起動し以下記入
【入力】 python -m venv プロジェクト名
➁cd コマンドで移動しactivate.batを起動
【入力】 以下コマンドを入力することでディレクトリ移動ができる cd フォルダー名
【入力】 activate.bat
③scriptsフォルダーの一つ上の階層に移動する
【入力】 以下コマンドを入力することで上のディレクトリに移動ができる cd..
③djangoのインスト‐ル
【入力】 pip install django
④pipのアップグレードをする
Scriptsフォルダーの一つ上のディレクトリに移動してからアップグレードを行う。
【入力】 cd.. ↑このコマンドを入力してactivate.datのあるScriptsフォルダーの一つ上のディレクトリに移動しておく。
【入力】 python -m pip install --upgrade pip
データベースを設定する
Djangoでは標準のデータベースではないですが、汎用性が高い「PostgreSQL」の導入を行います。
➀コマンドプロントを立ち上げて以下入力する。
【入力】 psql -U postgres
➁パスワードの入力が求められる。
たいていのユーザは「postgres」がユーザ名と思います。パスワードはインストール時に指定したものです。
【入力】 パスワード(インストール時に指定したもの)
問題なければ、psql(数字.数字)と表示され、左側に[(ユーザー名)postgres=#]が就くようになる。
③以下コマンドを入力して、データベース作成をする。
【入力】 create database データベース名; ←最後の点「;」を忘れない様に
pythonの設定を行う
➀Python仮想環境を起動し、pipコマンドにてデータベースを扱うためのドライバをインスト―スする。
【入力】 pip install psycopg2-binary
➁プロジェクトディレクトリ(下図参照)に移動し、プロジェクトの作成をする
まずScriptsフォルダーからプロジェクトフォルダーに移動する。 【入力】 cd.. 【入力】 cd プロジェクト名
【入力】 django-admin startproject プロジェクト名

③アプリケーションを作成する。
【入力】 python manage.py startapp アプリ名
Pycharmの設定
➀ファイルメニュにある「設定」を選択する。

➁Pythonインタープリターを選択し、上のPythonインタープリターの選択バーを選択し、No interpreterに設定しておく。


③ インタープリターの選択バー 右側の歯車アイコンを押して追加を選択する

④「既存の環境」を選択し、右にある参照ボタンを押し、プロジェクトフォルダーにあるScriptsフォルダー内のpython.exeを選択する

コードの修正
➀言語とタイムゾーンの変更
ファイル名:プロジェクトフォルダーのsetting.py
【入力】 LANGUAGE_CODE = 'ja' TIME_ZONE = 'Asia/Tokyo'
➁データベースをPostgreSQLに変更する
ファイル名:プロジェクトフォルダーのsetting.py
【元のコード】
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
【修正後】
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'プロジェクト名',
'USER': os.environ.get('DB_USER'),
'PASSWORD': os.environ.get('DB_PASSWORD'),
'HOST': '',
'POST': '',
}
}
③import osをsetting.pyの頭に記入
④ロギングの設定
ファイル名:プロジェクトフォルダーのsetting.py
【入力】
# ロギング設定
LOGGING = {
'version': 1, # 1固定
'disable_existing_loggers': False,
# ロガーの設定
'loggers': {
# Djangoが利用するロガー
'django': {
'handlers': ['console'],
'level': 'INFO',
},
# diaryアプリケーションが利用するロガー
'アプリ名': {
'handlers': ['console'],
'level': 'DEBUG',
},
},
# ハンドラの設定
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'dev'
},
},
# フォーマッタの設定
'formatters': {
'dev': {
'format': '\t'.join([
'%(asctime)s',
'[%(levelname)s]',
'%(pathname)s(Line:%(lineno)d)',
'%(message)s'
])
},
}
}
⑤ルーティング設定
ファイル名:プロジェクトフォルダーのurls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('report.urls')),
]
⑥ファイル名:アプリフォルダーのurls.py
from django.urls import path
from . import views
app_name = 'report'
urlpatterns = [
path('', views.IndexView.as_view(), name="index"),
]
⑦ビューの設定
from django.views import generic
class IndexView(generic.TemplateView):
template_name = "index.html"
⑧[templates]のフォルダーをアプリケーションフォルダー内に作成する。
⑨templatesフォルダーにindex.htmlファイルを作成する
⑩runserverの設定

⑪setting.pyのアプリ登録をしておく
ファイル名:プロジェクトフォルダーのsetting.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'report.apps.ReportConfig',
]
