【发布时间】:2012-12-26 19:34:37
【问题描述】:
我的django项目结构如下:
主要/
project_A/
apps/
account
models.py
views.py
urls.py
__init__.py
purchase
models.py
views.py
urls.py
__init__.py
…..
project_B/
apps/
account
models.py
views.py
urls.py
__init__.py
signups
models.py
views.py
urls.py
__init__.py
….
在我的 main/workspace 下,我有两个单独的 django 项目,分别称为“Project_A”和“Project_B”。每个项目都有自己的一组应用程序。每个项目都有一个名为“帐户”的应用程序。 (在不同的 Django 项目中使用相同的应用程序名称)。我需要让两个项目相互交谈,为此我需要在 Project_A 中的“购买”应用程序的 views.py 中执行以下导入
从 project_B.apps.account.models 导入帐户
(这里Account是account app的models.py中的model。两个不同django项目中的model和app name相同)
但是,它看起来像基于导入的工作方式;在 Project_A 中,上述导入基本上解析为:
from account.models import Account(它从models.py解析为Project_A的帐户应用程序的Account模型。)但是,我需要从Project_B导入。我怎样才能让它工作?
Django 版本:1.3 Python 版本 2.7.2 Ubuntu 12.04
【问题讨论】:
-
WWWWWHHHHYYYYYY??????!!!!!!!
-
我需要从Project_A中的Project_B查询账户模型中的一些字段;因此,我需要从 Project A 中的 Project_B 导入帐户模型。
-
老实说,您应该将所有应用程序放在一个项目中,并赋予它们不同的名称。你的设置很奇怪,看起来不是一个好的概念。
-
Project_A 供卖家使用,Project_B 供买家使用。将项目分开使用户管理变得非常容易,因为我不必跟踪用户是买家还是卖家(因为它们在单独的项目中有自己的单独“帐户”。
-
不过,这不是一个好主意。您必须复制项目设置,并且不能在同一台服务器上运行这两个项目。正如您从上面的问题中看到的那样,这不是 Django 项目应该工作的方式。将所有内容放在一个项目中,并找到与买卖双方打交道的其他方式。
标签: django importerror