我正在为可重用的 django 应用程序编写自定义模板标签。
我定义的标签是在同一个应用程序中引用一个模型,所以我需要导入它。
如果我将我的应用程序代码复制到 django 项目中,一切正常,但是如果我使用 distutils 打包我的应用程序并通过 pip 或 setup.py install 安装它(因此应用程序代码被复制到站点包中),我无法使用它。
尝试在模板标签模块中导入我的应用程序模型时,我收到 ImportError。引发错误的代码是这样的:
从 django 导入模板
导入 cms_fragments.models注册=模板.库()
引发的异常是这样的:
ImportError 引发加载 cms_fragments.templatetags.cms_fragments_tags:没有名为模型的模块
我很确定我的应用程序布局是正确的:
|-cms_fragments
|- _ init _ .py
|-models.py
|-templatetags|- _初始化_ .py
|-cms_fragments_tags.py
|-views.py
我已经看过与此相关的所有帖子,但我从未发现有人报告在 django 项目中的代码与在站点包中的代码之间存在这种差异。
有什么提示吗?