我正在使用Pycharm
来开发我的Django
项目,但我对设置有疑问。
我有一个 base.py 设置文件,其中包含所有设置(尤其是数据库和电子邮件设置):
...
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'app_db',
'USER': 'app_user',
'PASSWORD': get_secret("DB_PWD", SECRETS),
'HOST': 'localhost',
'TEST': {
'NAME': 'test_app_db',
'USER': 'app_user',
}
}
}
DEFAULT_FROM_EMAIL = 'noreply@test.fr'
EMAIL_SENDER = DEFAULT_FROM_EMAIL
EMAIL_HOST = 'smtp.test.fr'
EMAIL_PORT = 25
EMAIL_USER = ''
EMAIL_PASSWORD = ''
...
此配置可在我的远程服务器上使用,但是当我在localhost中进行开发时,我想考虑 local.py 文件中的相同参数:
from .base import *
...
DATABASES['default']['USER'] = 'app_user2'
EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025
...
我的 wsgi.py 文件如下所示:
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "main.settings.base")
application = get_wsgi_application()
使用Pycharm,我进行了配置:
问题:
已考虑到我在local.py中的数据库参数,但没有考虑我的电子邮件HOST
和PORT
参数。
==>如果我定义DJANGO_SETTINGS_MODULE = main.settings.local
,它将保留smtp.test.fr
而不是localhost
。电子邮件端口也是一样。
如何覆盖local.py中的这些参数,以便不考虑base.py参数,而是考虑local.py文件中的参数?