用django 1.4连接lamson

时间:2012-06-19 17:37:23

标签: python django python-2.7 django-1.4 lamson

我正试图用django 1.4连接lamson。 我已经看过关于用django连接lamson和来自源代码的librelist示例的文档,但它似乎使用了以前版本的django。

我创建了一个“webapp”项目,其中包含基本django 1.4教程中描述的“电子邮件”应用程序。

webapp / webapp / settings.py文件包含对installed_apps中的电子邮件应用程序的引用,如下所示:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    'emails',
)

lamson应用程序文件夹包含django项目的webapp文件夹。 现在,我没有一个包含Zed Shaw提供的librelist示例中的所有内容的“webapp / emails”文件夹,而是还有另一个包含settings.py的webapp文件夹,以及包含模型的额外应用程序文件夹(电子邮件)和所有(这是由于django 1.4中的新目录结构)。

在lamson的config / settings.py文件中,我添加了以下行:

os.environ['DJANGO_SETTINGS_MODULE'] = 'webapp.webapp.settings'

现在,在我的处理程序代码(app / handlers / my_handler.py)中,我导入了我的模型:

import webapp.emails.models

我可以正确地从我的模型创建实例,但是一旦我尝试使用my_instance.save()将它们保存到数据库,我就会收到以下错误:

File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
ImportError: No module named emails

知道问题是什么吗?

否则,是否可以删除django 1.4并使用django 1.3使其工作?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

这是适合我的设置

将webapp和mailserver文件夹移到同一级别

mailserver #lamson project
- lamson files
webapp #django 1.4 app
- settings.py ...

在lamson settings.py

import sys
import os
sys.path.append('../webapp')

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

现在你可以在没有任何前缀

的lamson处理程序中访问django项目模块

e.g。

import emails.models