Python 未拾取Django 1.7迁移
使用Django 1.7和它的新迁移,我遇到了一个奇怪的问题 我把我的设置文件分为3个文件,这是我在1.7版之前一直做的Python 未拾取Django 1.7迁移,python,django,django-1.7,Python,Django,Django 1.7,使用Django 1.7和它的新迁移,我遇到了一个奇怪的问题 我把我的设置文件分为3个文件,这是我在1.7版之前一直做的 /settings __init__.py base.py development.py production.py \uuuu init\uuuuu.py from .base import * if sys.argv[1] == 'runserver': from .development import * else: from .pr
/settings
__init__.py
base.py
development.py
production.py
\uuuu init\uuuuu.py
from .base import *
if sys.argv[1] == 'runserver':
from .development import *
else:
from .production import *
development.py
和production.py
都有自己的数据库设置用于这些环境。但是,在新的migrations系统中,运行migrations不会检测到任何东西,除非我将数据库设置放入base.py
文件中
我是否应将此行修改为以下内容:
if sys.argv[1] == 'runserver' or sys.argv[1] == 'migrate':
<>强>还是有更好的方法?< /强> 您应该避免向设置文件添加逻辑,在使用RunServer测试时考虑使用CHE-SETION选项,如:
./manage.py --settings=project.settings.development runserver
#!/bin/bash
# This hook is run after this virtualenv is activated.
export DJANGO_SETTINGS_MODULE=project.settings.local
cd /home/user/develop/git/project
from .base import *
DATABASES = ... customize DB settings used for development/production ...
您还可以使用环境变量DJANGO_SETTINGS_MODULE切换DJANGO使用的设置模块
在您的开发环境中,您可以设置:
export DJANGO_SETTINGS_MODULE=project.settings.development
在生产中,您可以设置DJANGO\u SETTINGS\u MODULE=project.SETTINGS.production
详细信息取决于您使用的部署类型和服务器
就我个人而言,在我的开发设置中,我使用如下内容设置postactivate挂钩:
./manage.py --settings=project.settings.development runserver
#!/bin/bash
# This hook is run after this virtualenv is activated.
export DJANGO_SETTINGS_MODULE=project.settings.local
cd /home/user/develop/git/project
from .base import *
DATABASES = ... customize DB settings used for development/production ...
这样我就可以打字了
休恩项目
我已经正确设置了环境变量,并且我的shell被发送到了正确的文件夹中
您可以有一个base.py设置文件,其中包含所有常用设置,然后在development.py(和production.py)中执行以下操作:
./manage.py --settings=project.settings.development runserver
#!/bin/bash
# This hook is run after this virtualenv is activated.
export DJANGO_SETTINGS_MODULE=project.settings.local
cd /home/user/develop/git/project
from .base import *
DATABASES = ... customize DB settings used for development/production ...