3
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【python・Django初学者】Djangoの環境構築とディレクトリ構成について爆速で解説していく

Posted at

環境構築

仮想環境作成

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/

この後半のurlで確認を行う
成功すれば
スクリーンショット 2021-05-11 18.27.11.png

このような画面が表示される

アプリの作成

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 サーバーのエントリポイント

参考

3
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?