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

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个类。而你的代码使用了1个自定义的类,其继承自Rss201rev2Feed,因此需要实现root_attributes和add_root_elements方法,详细可以查看自定义Feed类

    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!