Python Django设置和GitHub操作机密
我有一个Django项目,正在使用Postgres数据库。我想找出一种更简单的方法,在本地和Github上存储我的凭据,这样我就可以在这两个地方运行测试,但我的敏感信息都不在git repo中 尽管数据库只存在于我的计算机上(Github测试数据库在Github上一次只存在大约一分钟),但我想对机密使用最佳实践,所以当我上线时,我已经准备好了 目前,我仅有的敏感数据是数据库密码。下面是我如何将我的真实密码保存在GitHub之外的 settings.py(Git): localsettings.py(不在Git中): testsettings.py(Git): 通过此设置,我可以在本地正常运行测试Python Django设置和GitHub操作机密,python,django,github,django-settings,building-github-actions,Python,Django,Github,Django Settings,Building Github Actions,我有一个Django项目,正在使用Postgres数据库。我想找出一种更简单的方法,在本地和Github上存储我的凭据,这样我就可以在这两个地方运行测试,但我的敏感信息都不在git repo中 尽管数据库只存在于我的计算机上(Github测试数据库在Github上一次只存在大约一分钟),但我想对机密使用最佳实践,所以当我上线时,我已经准备好了 目前,我仅有的敏感数据是数据库密码。下面是我如何将我的真实密码保存在GitHub之外的 settings.py(Git): localsettings.p
python manage.py测试
但是当我在Github上运行它们时,我必须使用python manage.py test--settings=path.to.testsettings
是否有一种类似GiTub的方式存储本地秘密的方法,这样我就可以有一个设置文件,它将在本地工作,在Github上?
< P>我会考虑从环境变量传递秘密到Django配置文件。您只需将变量变量与秘密传递给GITHUB操作中的容器。
< P>我会考虑从环境变量传递秘密到Django配置文件。 然后,您只需将带有机密的env变量传递给Github操作中运行的容器VAR_1='abc'
VAR_2 = '123'
#DOES NOT INCLUDE DATABASE CONFIG
VAR_3 = 'efg'
# Add settings from local file into main settings
try:
from .localsettings import *
except ImportError:
import sys
print('localsettings not defined.')
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'real-db-name',
'USER': 'real-user',
'PASSWORD': 'real-password',
'HOST': 'localhost',
'PORT': '',
}
}
# import main settings and then overright certian values
try:
from .settings import *
except ImportError:
import sys
print('settings not defined.')
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'github-db-name',
'USER': 'github-db-user',
'PASSWORD': 'github-user-password',
'HOST': 'localhost',
'PORT': '',
}
}