0

我正在尝试将 lamson 与 django 1.4 连接起来。我已经看到了有关将 lamson 与 django 连接起来的文档以及源代码中的 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 文件夹。现在,我没有一个“webapp/emails”文件夹,其中包含 Zed Shaw 提供的 librelist 示例中的所有内容,而是另一个包含 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 使其工作?

谢谢你的帮助

4

1 回答 1

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 项目模块

例如

import emails.models
于 2012-06-20T21:06:47.307 回答