如何在两台不同的机器上使用相同的django项目?

时间:2016-02-16 19:24:42

标签: python django postgresql

我的Django项目都保存在虚拟环境中,我正在使用PostgreSQL。当我将我的虚拟环境复制到第二台PC上时,由于数据库身份验证问题,我无法启动项目。我只是想知道是否可以将项目(带数据库)复制到第二台机器上,并从两台机器开始进行开发。提前谢谢!

2 个答案:

答案 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并使项目运行。