私は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)
正常に動作しますが、DB からプルすると動作しません。
この http://pythonhosted.org/feedparser/character-encoding.html を 調べたところ、このフィードパーサーはスクリプトの実行中に失敗しましたが、インタラクティブな python コンソールで再現できません
しかし、私はそれを理解することはできません。誰かが助けることができますか?
ありがとう