この記事では、Djangoのプロジェクトを作成する方法について紹介したいと思います。
各バージョンは以下になります。
- Python3
- Django2
Linuxの場合、Pythonのバージョン2がある場合があります。
今回の手順ではPython3が前提となりますのでご注意ください
Djangoプロジェクト作成の基本
方法は以下になります。
django-admin startproject プロジェクト名
サンプルコマンドは以下になります。
django-admin startproject mysite
すると指定したディレクトリにmysiteというフォルダが作成されます。
このmisiteがDjangoプロジェクトになります。
なんとmこれでDjangoのプロジェクトの作成が完了です。
フォルダの説明
先ほど作ったフォルダの構造は以下の様になっております。
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py2
ルートフォルダのmysite/: プロジェクトのコンテナです。
任意の名前に変更できます。
manage.py: Django プロジェクトに対する様々な操作を行うためのコマンドラインユーティリティです。
参考:django-admin と manage.py
mysite/:このプロジェクトのPythonパッケージ名です。importの際に使います。
mysite/init.py: このディレクトリが Python パッケージの初期化ファイル(initialファイル)になります。
参考:Pythonのパッケージ
mysite/settings.py: Djangoの設定ファイルです。データベース、静的ファイルの指定などに使えます。
参考:Djangoの設定
mysite/urls.py: プロジェクトのURL制御ファイルです。 このファイルでurlを宣言します。その後、アプリファイルの中のpyファイルと一緒にWebページの動作を制御します。
参考:URLディスパッチャ
mysite/asgi.py: プロジェクトに提供するASGI互換性Webサーバーのエントリーポイント
参考:ASGIの使い方
内側のmysite/wsgi.py: プロジェクトに提供するWSGI互換性Webサーバーのエントリーポイント
参考:WSGIとともにデプロイする
ビルドインサーバの起動。Djangoのトップページを表示する。
ではDjangoの起動をしてみます。
Djangoの起動方法は以下になります。
python manage.py runserver [ポート番号]
ですが、その前に設定ファイルを変更しなければなりません。
mysite/settings.pyの中のALLOWED_HOSTSを変えなければなりません。
変える前:
ALLOWED_HOSTS = []
変えた後:
ALLOWED_HOSTS = [*]
今回はすべの接続を許可するとする” * ”を設定します。
manage.pyディレクトリに戻りコマンドを入力します。
python manage.py runserver 0:8000
その後、Google Chromeなどのブラウザで http://サーバのIPアドレス:8000/または http://ローカルホスト:8000/にアクセスしてみてみましょう。
Djangoトップページが表示されてます。
python manage.py runserverの補足
前の章でpython manage.py runserver [ポート番号]でDjangoを起動しました。
もしポートを指定しなければデフォルトのポートは8000番で起動し、リッスンするアドレスはlocalhost(127.0.0.1)になります。
この場合、内部で起動してるのでブラウザで<IPアドレス>:8000にアクセスしても、以下のようにエラーとなります。
全てのIPからリクエストを受ける様にするには(<IPアドレス>:8000)で見れる場合は以下の様になります。
python manage.py runserver 0:8000
これはpython manage.py runserver 0.0.0.0:8000と同じ意味になります。
参考:RUNSERVERの仕様