Python開発環境(言語:Python、DB操作:Django、DB:MySQL)作成時の作業記録を、ここで一旦まとめてみました。本文は殆どレジュメみたいな記載だけで、詳細は別記事参照としてあります。そこの部分はリンクの先の別記事を参照して下さい。
1.環境作成
(Pythonバージョン管理ツールである)Anacondaをインストール後、各ライブラリ(Django等)を検索・インストールします。(詳細はこちら)
(1)Anacondaインストール
※確認方法:Anaconda Powershell Promptで[Python]と入力・実行することでPythonバージョン表示
(2)仮想環境作成
conda create -n <仮想環境名> python=<バージョン>
※上記コマンド実行場所はどこでも良い。
(3)仮想環境有効化
conda activate <仮想環境名>
(4)ライブラリ検索・インストール
conda search <ライブラリ名>=<バージョン>
conda install <ライブラリ名>==<バージョン>
conda list
※Djangoインストール状態確認方法:django-admin version
2.Djangoプロジェクト作成
上記仮想環境上にDjangoプロジェクトを新規作成します。(詳細はこちら)
(1)Djangoプロジェクト新規作成
django-admin startproject <プロジェクト名>
※上記コマンドは作業(予定)フォルダで実行します。
3.Djangoアプリケーション作成
Djangoアプリケーションでは、
(A)viewsから直接出力表示する方法
(→以下「4.viewsから直接出力表示する場合」参照)
(B)テンプレートを経由して出力表示する方法
(→以下「5.テンプレートを経由して出力表示する方法」参照)
という2通りの表示方法があります。
以下は、その両方((A)、(B))についての手順記録です。
4.viewsから直接出力表示する場合
上記Djangoプロジェクト上にDjangoアプリケーションを新規作成します。(詳細はこちら)
(1)Djangoアプリケーション新規作成
python manage.py startapp <アプリケーション名>
※上記コマンドはプロジェクト配下(manage.pyがあるところ)で実行します。
(2)設定情報編集
以下は編集例です。
① settings.py
プロジェクトフォルダ直下の基本設定(settings.py)を編集します。(詳細はこちら)
(a) INSTALLED_APPS
Djangoプロジェクトで使用するアプリケーションのリストです。
追加内容: '<アプリケーション名>.apps.MainConfig’,
(補足)上記追加内容については(アプリケーションフォルダ直下の)apps.pyを参照することで確認することができるのですが、これについては、別記事「(1)settings.pyのINSTALLED_APPSへの登録情報が意味不明だった!」を参照して下さい。
(b) LANGUAGE_CODE
Djangoプロジェクトの使用言語です。
設定内容: LANGUAGE_CODE = ‘ja’
(c) TIME_ZONE
Djangoプロジェクトのタイムゾーン項目です。
設定内容: TIME_ZONE = ‘Asia/Tokyo’
② views.py(views.pyから直接出力表示する場合の設定)
アプリケーションフォルダ直下の表示設定(views.py)を編集します。(詳細はこちら)
(a) django.httpからHttpResponseをインポート
追加内容: from django.http import HttpResponse
(b) リクエスト情報を受け取って、メッセージを表示するビュー定義
追加内容: def index(request):
#b.レスポンスを生成する
return HttpResponse(‘ Hello!World! ’)
③ urls.py(views.pyから直接出力表示する場合の設定)
以下の説明については、別記事「Webサーバ起動時、URL情報の矛盾エラーが消せない!」もご参照下さい。
(a) アプリケーションフォルダ直下のurls.py
アプリケーションフォルダ直下にurls.pyを追加・編集します。(詳細はこちら)
(b) プロジェクトフォルダ直下のurls.py
アプリケーションフォルダ直下にurls.pyを編集します。(詳細はこちら)
(1) include メソッドのインポート
追加内容: from django.urls import path, include (※下線の部分を追加する)
(2) (path メソッド、include メソッドを使って)urlpatternsの追加
追加内容: path(‘main/’, include(‘main.urls’)),
(3)動作確認
① Webサーバー起動
python manage.py runserver
② ブラウザ表示
ブラウザーで「http://127.0.0.1:8000/main/」を表示できればOKです。
5.テンプレートを経由して出力表示する場合
上記4では、viewsから直接出力表示しましたが、ここでは、(上記で作成したアプリケーションを)Djangoテンプレート(TDL)経由で出力表示する場合の手順になります。
(1)テンプレート格納用フォルダ作成
作成済みアプリケーションフォルダ直下に、テンプレート格納用フォルダを作成します。(詳細はこちら)
<作成済みアプリケーションフォルダ>¥templates¥<テンプレート名>
(例)main¥templates¥main2
(2)テンプレートファイル作成
上記フォルダ直下に、テンプレートを作成します。(詳細はこちら)
(例)temp.html
(3)settings.pyへのテンプレート登録
上記テンプレートを、settings.py の INSTALLED_APPS に追加します。(詳細はこちら)
追加内容: ’main.templates’,
※上記は、mainアプリケーションフォルダ直下のテンプレートフォルダ配下に、テンプレートがあることを意味します。
(4)URL情報登録
mainアプリケーションフォルダ配下のurls.pyのurlpatternsに、以下を追加します。(詳細はこちら)
追加内容: path(‘temp‘, views.temp, name=’temp’),
(5)views.pyへの呼出テンプレート追加
テンプレートフォルダ直下に格納したテンプレートを、以下の様に追加します。(詳細はこちら)
def temp(request):
# a. ビュー変数を準備
context = {
‘msg’:’こんにちは、世界!※temp.htmlから出力表示(電子書籍「速習Django3速習シリーズより」’
}
# b. テンプレートを呼び出す
return render(request, ‘main2/temp.html’,context)
(6)マイグレーション実施
python manage.py migrate
(7)動作確認
① Webサーバ起動
python manage.py runserver
② ブラウザ表示
ブラウザで、以下を表示できれば、OKです。
http://localhost:8000/main/temp