我创建了一个简单的模块来存储我的所有选择并在我的应用程序中重用它们(请参阅 CharField 选择)
这是我的项目结构
project_name/
-- manage.py
-- settings.py
-- ......
-- apps/
-- __init__.py
-- simple_app/
-- __init__.py
-- models.py
-- ....
-- common/
-- __init__.py
-- choices/
-- __init__.py
在我的 common.choices.__init__.py 里面我有
from django.utils.translation import ugettext as _
SCALE_TYPE_CHOICES = (
(1,_('Lineare')),
(2,_('Logaritmica')),
(3,_('Esponenziale'))
)
GENDER_CHOICES = (
('male',_('Maschio')),
('female',_('Femmina')),
('any',_('Tutti')),
)
在apps.simple.models.py
from common.choices import SCALE_TYPE_CHOICES, GENDER_CHOICES
.....
我的passenger_wsgi.py
import sys, os
sys.path.insert(0, os.getcwd())
sys.path.insert(0, os.path.join(os.getcwd(),"path_to_my_project"))
sys.path.insert(0, os.path.join(os.getcwd(),"path_to_my_project/common"))
os.environ['DJANGO_SETTINGS_MODULE'] = "project_name.settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
在我的开发服务器中它工作正常,但在我的生产服务器中它抛出并错误“没有名为选择的模块”
管理.py 外壳
import common
print common
<module 'common' from 'absolute_project_path/common/__init__.pyc'>
乘客wsgi.py
import sys, os
sys.path.insert(0, os.getcwd())
sys.path.insert(0, os.path.join(os.getcwd(),"path_to_my_project"))
sys.path.insert(0, os.path.join(os.getcwd(),"path_to_my_project/common"))
os.environ['DJANGO_SETTINGS_MODULE'] = "project_name.settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
import common
print common
Outputs
<module 'common' from 'absolute_project_path/common/__init__.pyc'>
有任何想法吗?
谢谢!