Djangoの開発環境整備(venv)
環境を立てた
新しいWebアプリのため、ローカルに環境を立てたのでその時のメモ
細かいバージョン指定とかは端折っている
とりあえず以下の形で作った
とりあえずDjangoが動くまで
- venv用フォルダを作り
cd
で移動 python3.7 -m venv .
source bin/activate
python -m pip install --upgrade pip
pip install django
django-admin startproject [appname]
してcd
で移動python manage.py migrate
touch requirements.txt
pip freese > requirements.txt
VSCodeでデバック実行できるようにする
前提:PythonのExtentionを入れる 1. インタープリターの設定
settings.py、urls.py、wsgi.py、asgi.pyの外出し(機能単位で設定しないでよくなるように)
- configフォルダを作って以下ファイルをアプリから移動
asgi.py settings.py wsgy.py
- 以下ファイルをconfig配下に新規作成
local_settings.py urls.py
urls.py
を編集
config側
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), ]
app側
from django.contrib import admin from django.urls import path urlpatterns = [ ]
asgi.py
とwsgi.py'と
manage.py`を編集
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'appname.settings') ↓ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
- settings.pyを編集
★locals_settings.pyの読み込み importのあとすぐ実行 try: from .local_settings import * except ImportError: pass ★urls.pyの読み込み元変更 ROOT_URLCONF = 'config.urls' ★wsgi.pyの読み込み元変更 WSGI_APPLICATION = 'config.wsgi.application'
- 以下項目をsettings.pyからlocal_settings.pyに移植
・from pathlib import Path ・DEBUG ・ALLOWED_HOSTS ・SECRET_KEY ・BASE_DIR ・DATABASES
- 動作確認をして問題なければOK
上記でできるフォルダ構成
workspace ├ .vscode │ └ launch.json ├ config │ ├ asgi.py │ ├ local_settings.py │ ├ settings.py │ ├ urls.py │ └ wsgi.py ├ app │ ├ __init__.py │ └ urls.py ├ db.sqlite3 ├ managed.py └ requirements.txt