【发布时间】:2009-07-26 17:36:06
【问题描述】:
所以我正在尝试编写一个 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。当我在 base.py 中{% load twitterfeed %} 时,出现以下错误:
'twitterfeed' 不是有效标签 库:无法加载模板 图书馆从 django.templatetags.twitterfeed,没有 名为 feedparser 的模块
我使用以下语句导入 feedparser:
import re, datetime, time, myapp.feedparser
据我所知,这个错误信息有点欺骗性。我认为加载模板库时会发生 ImportError,这是 Django 对它的解释。
有什么方法可以在我的可重用应用程序中导入 feedparser.py,而无需应用程序用户将 feedparser 放置在他们的 PythonPath 中的某个位置?
谢谢!
【问题讨论】:
标签: python django feedparser templatetags