#環境構築
###仮想環境作成
python3 -m venv [newenvname]
###仮想環境activate(Mac)
source [newenvname]/bin/activate
###仮想環境activate(Windows)
.\[newenvname]\Scripts\activate
###Djangoインストール
#プロジェクトを作成
django-admin startproject mysite
設定ファイルなど様々なモジュールを集めたものが作成される。
###プロジェクトの動作確認
外側のmysiteディレクトリに移動しコマンド入力
$ python manage.py runserver
Starting development server at http://127.0.0.1:8000/
このような画面が表示される
#アプリの作成
python manage.py startapp polls
#ディレクトリ構造
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
これがDjangoのディレクトリ構成図
###manage.py
公式docによるとdjango-adminとほぼ同じと考えて良いみたい
単体のDjangoプロジェクトならmanage.pyの方が簡単だから推奨されている。
Djangoを扱うためのコマンドが記載されているファイルと思えばいい。
例えばプロジェクトのスタートでも
$ django-admin startproject myproj
$ python manage.py startproject myproj
このようにしてdjango-adminもしくはmanage.pyが使われている
###mysite/init.py
mysite_がpythonパッケージだとpythonに伝えるための空ファイル
###mysite/settings.py
MODULEレベルの変数が記載されたpythonモジュール
MY_SETTING = [str(i) for i in range(30)]
DEBUG = False
例えば1行目のようにpython構文で動的に値を設定もできる
###mysite/urls.py
名前の通りどのurlにリクエストが来たらどの関数が実行されるかを示すモジュール
###mysite/asgi.py
プロジェクトを提供する ASGI 互換 Web サーバーのエントリポイント
Djangoとwebサーバー(ApacheやNginxなど)が依存しないようにASGIやWSGIなどのインターフェイスを置く。その設定などのためのファイル。
###mysite/wsgi.py
プロジェクトを提供する WSGI 互換 Web サーバーのエントリポイント
#参考