在Pycharm和Django中使用本地设置

时间:2019-03-05 16:38:22

标签: django pycharm django-settings

我正在使用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,我进行了配置:

enter image description here

enter image description here

问题:

已考虑到我在local.py中的数据库参数,但没有考虑我的电子邮件HOSTPORT参数。

==>如果我定义DJANGO_SETTINGS_MODULE = main.settings.local,它将保留smtp.test.fr而不是localhost。电子邮件端口也是一样。

如何覆盖local.py中的这些参数,以便不考虑base.py参数,而是考虑local.py文件中的参数?

0 个答案:

没有答案