目次
ローカル用ファイルを作成
settings.py
には本番用のものを書いて、
新しくsettings_local.py
を作成して、
そこで、settings
を読み込んで、
from .settings import *
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'local',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
}
}
DATABASEとか上書きしたいものだけ、上書きして、
ローカルでのサーバー起動
ローカルで呼び出すときは、こんな感じでsettingsを設定して呼び出します。
python manage.py runserver --settings=project.settings_local
vscodeで起動する場合の設定
私はVSCODEでDjangoを起動しているので、
argsに設定すれば楽々です、"--settings=project.settings_local"
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}\\manage.py",
"args": [
"runserver",
"--settings=project.settings_local"
],
"django": true,
"justMyCode": true
}
]
}
簡単な感じでよいかなと?
おまけ
個人でやってる場合は、開発がwindowsで本番がLinuxって
完全にわかってたりするから、こうやって分岐させといたら、楽々
manage.py
if os.name == 'nt':
# たまたま開発がWindosだったから
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
'project.settings_local')
else:
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
'project.settings')