我的Django项目都保存在虚拟环境中,我正在使用PostgreSQL。当我将我的虚拟环境复制到第二台PC上时,由于数据库身份验证问题,我无法启动项目。我只是想知道是否可以将项目(带数据库)复制到第二台机器上,并从两台机器开始进行开发。提前谢谢!
答案 0 :(得分:0)
您需要使用位于settings.py
文件中的所有凭据创建数据库。如果需要,可以使用pg_dump
在第一台计算机上从db复制数据,然后将该数据放在新创建的数据库中。
答案 1 :(得分:0)
这是一种非常常见的情况。您可以使用多个设置文件来实现此目的。
我们说你的项目是 myproject :
所以在myproject/
你有:
- __init__.py
- urls.py
- wsgi.py
- settings.py
您可以使用本地配置添加新文件:
- local_settings.py
您可以在此文件中覆盖数据库配置:
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'newdatabase',
'USER': 'newuser',
'PASSWORD': 'newpassword',
'HOST': '127.0.0.1', # Or an IP Address that your DB is hosted on
# 'HOST': 'localhost', # Or an IP Address that your DB is hosted on
'PORT': '3306',
}
}
然后,在原始settings.py
文件的末尾添加:
try:
from .local_settings import *
except ImportError:
pass
您随身携带项目,可以使用您需要的任何新配置创建新的local_settings.py
文件。
请记住,您可以在github存储库中忽略此文件(local_settings.py
),因此当您在新PC中克隆项目时,您只需创建一个新的local_settings.py
并使项目运行。