Django チュートリアルのメモ
備忘のための記事です。気になる箇所があれば教えてください。
基本的に参考サイトを見ればできます。
Pythonのインストール
まずPythonをインストールします。3.6系をインストールしてください。以下のサイトを参考にしてみてください。
Pythonのバージョンの確認
インストールしたバージョンを確認します。コマンドプロンプトで以下のコードを実行してみましょう。
py -V
ちなみにPythonは複数のバージョンをインストールすることができます。
【ポイント】作業フォルダを決めよう
ここからは作業するディレクトリを決めてその直下でコマンドを入力したり仮想環境を構築していきます。そのためにはまずどこで作業するかあらかじめディレクトリ(フォルダ)を決めておくと気持ちが楽です。ここではwwwrootとしておきます。
仮想環境を作る(簡単)
Pythonでよく?使うのが仮想環境です。メリットはほとんど端末に依存しない環境下での開発を行うことができます。端末に〇〇というパッケージを入れたくないけどというときに仮想環境を使えばOKです。
コマンドプロンプトで作業しよう!と決めたディレクトリまで移動します。今回はwwwrootとします。
そこで以下のコマンドを入力します。
py -m venv env
その後ディレクトリ内をかくにんすると新しくフォルダが作成されています。ここに仮想環境の部品が入っていきます。
仮想環境を作成出来たら仮想環境に入って作業します。入り方は以下のコマンドを入力します。
env\scripts\activate
コマンドラインの頭に(env)と出てきたと思います。この状態が仮想環境でコマンドを実行中ということです。
以降の作業はこの仮想環境で行います。
Djangoのインストール
ではDjangoを仮想環境にインストールしますが、まず念のためDjangoのバージョンを確認します。
py -m django --version
ではインストールします。以下のコマンドを実行します。以下のコマンドを実行します。
py -m pip install django
Djangoの開始
Djangoでアプリを作っていきます。
mysiteというベースサイトを作成します。以下のコマンドを実行します。
django-admin startproject mysite
ここでディレクトリを確認するとmysiteが増えていることが分かると思います。
構想は自分で調べてみてくださいね。manage.pyがあるディレクトリに移動をして以下のコマンドを実行すると自分の端末にDjangoのサイトが立ち上がります。アクセスしてみましょう。
では、いったんCtrl+Cで終了します。
データベースを作成(簡単)
Djangoではデータベースを扱います。デフォルトはSQLiteというDBです。ほかにもMySQLでもできるそうですが。。。
ここではSQLiteのまま進めます。ファイルはdb.sqlite3という名前でmanage.pyと同じディレクトリに配置されます。最初はこのファイルは空っぽなので、作成したmysite用に必要な部品を組み込んであげる必要があります。それをコマンドを実行すると自動で行ってくれます。
カスタマイズしたデータベースを扱う際にはmodule.pyに詳細を書き込みます。例えばkudamonoというテーブルを作成したい場合はmodule.pyに書き込みマイグレートすることでdb.sqlite3にテーブルが作成されます。(詳細は省きます)
では次のコマンドを実行してください。
py manage.py migrate
py manage.py makemagrations
ログイン機能の実装
なぜデータベースを作成したかというとログイン機能を追加するためです。ログイン機能を追加するにはユーザーを登録する入れ物が必要です。それがデータベースですので何もしていないとエラーになります。
以下のコマンドを入力します。
py manage.py createsuperuser
できました。
IISとDjango
IISでDjangoを動かすには主に
・IISを有効にする(CGIも)
・Djangoのフォルダ(mysite)の場所を指定
・Pythonを実行するプログラムを指定
・wfastcgiを使えるようにする
が必要です。
まず、wfastcgiをインストールします。以下のコマンドを仮想環境下で実行します。
py -m pip install wfastcgi
IISでサイトを立ち上げます。その際に物理パスにmanage.pyが置いてあるディレクトリを指定します。
ハンドラーマッピングにスクリプトマップの追加を行い仮想環境下にあるPythonのプログラムを指定します。(画像を貼り付けられないので以下で察してほしいです。)
*.py -----> env\scripts\python.exe
コマンドプロンプトでmysiteに移動し、以下のコマンドを実行してwfastcgiを実行します。もし間違えた場合はdisableです!
wfastcgi-eneble
その際に表示される
"c:***|c:***/py"
のような文字列をメモしておいてください。
web.configファイルを作成します。テキストファイルを新規で作成して拡張子を変更すればOKです。
<configuration>
<appSettings>
<add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
<add key="PYTHONPATH" value="@wwwroot@" />
<add key="DJANGO_SETTINGS_MODULE" value="mysite.settings" />
</appSettings>
<system.webServer>
<handlers>
<add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="@@@" resourceType="Unspecified" />
</handlers>
</system.webServer>
</configuration>
PYTHONPATHには作業フォルダ(wwwroot)を指定します。具体的に言うとmanage.pyがある一つ上のディレクトリを指定します。
例)C:\users\user\wwwroot
@@@のところに先ほどメモした内容を入力します。
これでlocalhostにアクセスして公開されるか確認してみましょう。
IISとDjango(VisualStudio)
VisualStudioで作成したDjangoアプリは仮想環境の場所が悪いのかうまくいきませんVisualStudioで作成した際にできる仮想環境のディレクトリより一つ上に仮想環境を作ります。その際に効率的にしてくれるのがrequitement.txtです。
VisualStudioで作成したフォルダを公開用のフォルダに配置します。
IISでは物理パスにmanage.pyが配置されている階層を指定します。
コマンドプロンプトでmanage.pyがある階層の一つ上まで進みます。そこで上記の手順で仮想環境を構築してください。その際にVisualStudioで作成しておいたrequirements.txtを使ってインストールしてください。コマンドは以下です。
py -m pip install -r requirements.txt
次は
どうしようか決めていませんが、ユーザーによって操作できるメニューを変えたり表示される項目、触れる項目を変えたりする方法を作りたいと思っています。
この記事が気に入ったらサポートをしてみませんか?