【发布时间】:2013-09-28 20:58:13
【问题描述】:
我对 Django 和 Python 还很陌生。我正在尝试使用 feedparser 构建小型 RSS 阅读器。我收到了这个错误,我似乎在任何地方都找不到任何解决方案
{'feed': {}, 'bozo': 1, 'bozo_exception': TypeError("'Feed' 没有缓冲区接口",), 'entries': []}
这里是涉及的文件(简化版本以说明问题)
## models
class Feed(models.Model):
name = models.CharField(max_length=100)
url = models.CharField(max_length=100)
category = models.ForeignKey(Category)
user = models.ManyToManyField(User)
def __unicode__(self):
return self.url
## views
def feed5(request):
source = Feed.objects.get(id=1)
rss = feedparser.parse(source)
context = {
'rss': rss,
}
return render(request, 'feedreader/feed5.html', context)
## feed5.html
{% block content %}
{{ rss }}
<p><a href ="{{ rss.feed.link }}">{{ rss.feed.title }}</a></p>
<ul>
{% for r in rss.entries|slice:":10" %}
<li> <a class="title" href="{{ r.link }}">{{ r.title }}</a> <br />{{ r.description }}</li>
{% endfor %}
</ul>
{% endblock %}
当我尝试在此处手动输入 rss 提要时
## views
def feed5(request):
source = Feed.objects.get(id=1)
**rss = feedparser.parse('http://rss.gazeta.pl/pub/rss/wiadomosci.htm')**
context = {
'rss': rss,
}
return render(request, 'feedreader/feed5.html', context)
它工作正常,但是当我从数据库中提取它时,它不起作用。
我看过这个 http://pythonhosted.org/feedparser/character-encoding.html 还有这个 feedparser fails during script run, but can't reproduce in interactive python console
但我想不通。有人能帮忙吗?
谢谢 西科尔
【问题讨论】:
标签: django feedparser