このチュートリアルに従って、djangoのRSSフィードとATOMフィードを実行し、動作させました。
ただし、テスト開発サーバーは、ブラウザーがフィードをxmlドキュメントとして検出するのではなく、ファイルとしてフィードをダウンロードするようにし続けます。
HTTPの経験から、Content-Typeヘッダーにmimeタイプが欠落していることがわかります。
djangoでそれを指定するにはどうすればよいですか?
このチュートリアルに従って、djangoのRSSフィードとATOMフィードを実行し、動作させました。
ただし、テスト開発サーバーは、ブラウザーがフィードをxmlドキュメントとして検出するのではなく、ファイルとしてフィードをダウンロードするようにし続けます。
HTTPの経験から、Content-Typeヘッダーにmimeタイプが欠落していることがわかります。
djangoでそれを指定するにはどうすればよいですか?
RSS で利用可能なビューを使用していますか? これは私のurls.pyにあるものです-そして、私はMIMEタイプについて何も設定していません:
urlpatterns += patterns('',
(r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': published_feeds}, 'view_name')`,
)
published_feeds は次のようなものです
class LatestNewsFeed(Feed):
def get_object(self, bits):
pass
def title(self, obj):
return "Feed title"
def link(self, obj):
if not obj:
return FeedDoesNotExist
return slugify(obj[0])
def description(self, obj):
return "Feed description"
def items(self, obj):
return obj[1]
published_feeds = {'mlist': LatestNewsFeed}
問題は、HTTP ヘッダーと MIME タイプではなく、OS X の Camino ブラウザーにあったと思います。
Safariで試したところ、うまくいきました。
HTTPReponse オブジェクトを作成するときに、そのコンテンツ タイプを指定できます。
HttpResponse(content_type='application/xml')
または、実際のコンテンツ タイプが何であれ。
http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponse.__init__を参照してください。