Python バックエンド プログラム言語

Djangoでプロジェクトの作成する方法

こんにちは!TodoONadaの土門(@daikidomon)です。

この記事では、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.py

ルートフォルダの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の仕様

関連記事

-Python, バックエンド, プログラム言語

Copyright© スタートアップIT企業社長のブログ , 2020 All Rights Reserved.