如何在开发和部署中使用不同的数据库主机?

2024-04-19 08:08:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python和Django还不熟悉,在过去的几周里,我成功地建立了我的第一个部署——一个非常基本的站点,带有用户身份验证和一些页面,我希望在接下来的几周内填充内容。你知道吗

通过搜索Google/StackOverflow/Django docs等,我找到了40多个问题的答案。,但现在我有一个问题似乎找不到好的答案(可能是因为我不知道如何最好地搜索):当我在本地机器上开发时,我需要设置.py文件指向远程数据库('HOST': 'www.mysite.com',),但当我部署到共享宿主服务提供商时,它们需要在中使用localhost'HOST': '',)设置.py). 你知道吗

既然我在GitHub上托管代码并希望将其镜像到服务器,那么有没有办法解决这个问题,这样我就不必手动编辑代码了设置.py每次上传更改到服务器后?你知道吗


Tags: django答案代码用户py服务器身份验证host
2条回答

可以创建本地_设置.py文件,您可以把它放在。git忽略并包括在原来的设置.py. 将每个环境敏感变量放入该文件(数据库、调试、缓存、媒体URL等)

在设置.py地址:

try:
    from local_settings import *
except ImportError:
    pass

在.gitignore中:

*/local_settings.py

我建议你在当地_settings.py.示例在gitrepo中的设置文件旁边。这样,每当您部署到一个新环境时,您只需要复制这个示例并更改必要的行。你知道吗

您可以拥有settings.py文件的两个副本,一个用于生产,一个用于开发。无论需要什么默认值,都可以将其命名为settings.py

只需将DJANGO_SETTINGS_MODULE设置为要使用的文件的python路径。你知道吗

因此,如果您的设置文件是myproject/settings.py, myproject/settings_dev.py,那么您可以执行以下操作:

$ DJANGO_SETTINGS_MODULE=settings_dev python manage.py shell

myproject目录。你知道吗

相关问题 更多 >