Импортировать переменные, если файл существует
У меня есть два файла Python на одном уровне в моем приложении Django.
- settings.py
- SECRET.py
Я хочу импортировать переменные из SECRET.py в случае, если файл существует.
# This code checks if you have the SECRET.py file to connect to the live server
if Path("SECRET.py").is_file():
print("Live Database")
from .SECRET import *
else:
print("Local Database")
NAME = 'blog_db'
USER = 'postgres'
PASSWORD = 'admin'
HOST = 'localhost'
PORT = '5432'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': NAME,
'USER': USER,
'PASSWORD': PASSWORD,
'HOST': HOST,
'PORT': PORT,
}
}
Код продолжает подключаться к локальной базе данных; печатает "Local Database", хотя у меня есть файл SECRET.py
Мне пришлось добавить имя главного каталога, чтобы получить к нему доступ
if Path("myBlog/SECRET.py").is_file():
Вы также можете обернуть его внутри блока try..except
try:
from .SECRET import *
except ImportError as error:
# Do something else