因此,我正在尝试编写一个 Django 可重用应用程序,该应用程序提供了一种在页面上显示 Twitter 提要的方法。我很清楚它已经存在了 20 次。这是一个学术练习。:)
目录结构非常简单:
myproject
|__ __init__.py
|__ manage.py
|__ settings.py
|__ myapp
|__ __init__.py
|__ admin.py
|__ conf
|__ __init__.py
|__ appsettings.py
|__ feedparser.py
|__ models.py
|__ templates
|__ __init__.py
|__ templatetags
|__ __init__.py
|__ twitterfeed.py
|__ views.py
|__ templates
|__ base.html
|__ urls.py
运行 Django shell 时,twitterfeed.py 中定义的函数可以完美运行。我也相信我有正确命名和注册的模板标签。
如您所见,我使用了出色的Universal Feed Parser。我的问题不在 UFP 本身,而是在导入模板标签库时无法调用 UFP。当我{% load twitterfeed %}
在 base.py 中时,我收到以下错误:
'twitterfeed' 不是有效的标签库:无法从 django.templatetags.twitterfeed 加载模板库,没有名为 feedparser 的模块
我使用以下语句导入 feedparser:
import re, datetime, time, myapp.feedparser
我能说的最好的,这个错误信息有点欺骗性。我认为加载模板库时会发生 ImportError,这是 Django 对它的解释。
有什么方法可以在我的可重用应用程序中导入 feedparser.py,而无需应用程序的用户将 feedparser 放置在他们的 PythonPath 中的某个位置?
谢谢!