如何使用不同的数据库设置(非默认)启动 Django 开发服务器

Posted

技术标签:

【中文标题】如何使用不同的数据库设置(非默认)启动 Django 开发服务器【英文标题】:How to launch Django development server with a different database setting (not default) 【发布时间】:2012-07-26 23:07:12 【问题描述】:

我在设置中有不同的 django 数据库配置,一个名为“default”,一个名为“clean”。

我如何运行绑定“干净”数据库设置而不是默认设置的开发服务器 (python manage.py runserver ip:port)?

【问题讨论】:

【参考方案1】:

您可以保存 2 个不同的 settings.py 并在运行 manage.py 时执行: python manage.py runserver --settings=[projectname].[settingsfile].

根据您的数据库更改设置文件。

【讨论】:

谢谢,我在文档中错过了(可能不存在?)我创建了另一个文件设置,用于复制标准默认设置并更改数据库【参考方案2】:
if DEBUG:
    DATABASES = 
        'clean': 
            'ENGINE': 'django.db.backends.',
            'NAME': '',
            'USER': '',
            'PASSWORD': '',
            'HOST': '',
            'PORT': '',
            ,
        
else:
    DATABASES = 
        'default': 
            'ENGINE': 'django.db.backends.',
            'NAME': '',
            'USER': '',
            'PASSWORD': '',
            'HOST': '',
            'PORT': '',
            ,
        

【讨论】:

我不喜欢这个,因为即使它是正确的,当 DEBUG 为 True 时,我必须为不同的目的加载不同的数据库,所以这还不够 你不应该在实时环境中使用调试,服务器电子邮件设置就是为此目的 我在本地环境中有不同的数据库,一个用于创建测试夹具,另一个用于开发。这就是为什么这还不够。当然在现场环境中 DEBUG 是 False!

以上是关于如何使用不同的数据库设置(非默认)启动 Django 开发服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何设置MS SQL服务使用非SYSTEM身份运行

如何设置jvm启动参数

如何在 emacs 启动时默认启用非全局次要模式?

GRUB如何改变默认系统启动项?

如何让一个django包修改settings.py?

django 如何写表单提交