python - Django的rss库生成的xml为什么浏览器不解析呢?
ringa_lee
ringa_lee 2017-04-18 10:12:07
0
1
492

URL配置:

from blog.feeds import RssSiteNewsFeed

urlpatterns = [
    url(r'^rss.xml$', RssSiteNewsFeed()),
]

feeds模块:

#!/use/bin/env python
# _*_ coding:utf-8 __

from django.contrib.syndication.views import Feed
from .models import Article
from django.utils.feedgenerator import Rss201rev2Feed


class CorrectMimeTypeFeed(Rss201rev2Feed):
    mime_type = 'application/xml'


class RssSiteNewsFeed(Feed):
    feed_type = CorrectMimeTypeFeed
    author_name = ""
    title = ""
    link = ""
    description = ""

    def items(self):
        return Article.objects.all().order_by('-created_time')[:5]

    def item_title(self, item):
        return item.title

    def item_link(self, item):
        return '/article/%s' % item.url

然后就出现了一个奇怪的现象,

明明已经解析出来了xml内容,有两个问题:

  1. 浏览器明明说了是Content-Type:application/rss+xml; charset=utf-8类型的文件,可是为什么显示的确实字符串呢?而不应该显示xml格式的内容。

ringa_lee
ringa_lee

ringa_lee

全員に返信(1)
阿神

Django のドキュメントを参照してください。デフォルトでは、feed_type は RssUserland091Feed、Rss201rev2Feed、Atom1Feed の 3 つのクラスのみをサポートします。コードでは Rss201rev2Feed から継承するカスタム クラスを使用するため、root_attributes メソッドと add_root_elements メソッドを実装する必要があります。詳細については、カスタム Feed クラスを参照してください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!