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?