2013-09-28 47 views
0

我對Django和Python相當陌生。我正在嘗試使用feedparser構建小型RSS閱讀器。我得到這個錯誤,我似乎無法找到任何解決方案Django中的bozo_exception/feedparser

{'feed':{},'bozo':1,'bozo_exception':TypeError(''Feed'沒有緩衝區接口」), '條目':[]}這是參與(簡體版ilustrate問題)

## 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) 

以下是文件

它工作正常,但是當我p來自DB,它不起作用。

我去了這個 http://pythonhosted.org/feedparser/character-encoding.htmlfeedparser fails during script run, but can't reproduce in interactive python console

,但我無法弄清楚。任何人都可以提供幫助嗎?

感謝 sikor

回答

1

你應該提供source.url不能源到feedparser

+0

啊哈!這工作,雖然我還是太新,這完全理解爲什麼:) – sikor

+0

非常感謝這個提示。你還介意幫助我下一步嗎?現在我想通過models/DB中的許多提要進行迭代,並將它們中的每一個都顯示在html模板中。雖然我明白我需要在html模板中迭代思想x.feed.entries,但我認爲通過每個rss源的迭代需要在視圖函數中正確發生? – sikor

+0

其實我已經添加代碼示例這個下面的問題在這裏http://stackoverflow.com/questions/19078710/queryset-object-has-no-attribute-url-when-using-feedparser-in-django – sikor