我有一个包含两个应用程序的django项目,我也希望通过Heroku的作业调度工具来处理一些常规数据库操作。Django在非应用程序包中导入应用程序模型
为了处理预定作业的任务,我在我的顶级django项目文件夹中有一个单独的包。该软件包需要访问我的应用中定义的模型。但是,我无法找到如何从我的应用程序导入模型。
的结构如下:
myproject
|
| myproject
| | __init__.py
| | ...
| myapp1
| | __init__.py
| | models.py
| | ...
| myapp2
| | __init__.py
| | models.py
| | ...
| customjobmodule
| | __init__.py
| | ...
| ...
我曾尝试使用sys.path.append导入(),但他们都不工作的几种方法。他们都说没有模块名为myapp1.models
import os
import sys
cwd = os.getcwd()
sys.path.append(cwd + '/../myapp1/')
from myapp1.models import Model1
ImportError: No module named myapp1.models
有没有办法做到这一点?在四处搜索时,我发现有很多关于在Django应用程序之间使用模型的信息,但完全不在django框架之外使用它们。
做你试试:'sys.path.append(CWD + '../myapp1/')#注意失踪slash' 或直接从'进口..myapp1型号#注双点syntax'? – efkin