0

ここに示すように、RSS に CSS を追加するのは非常に簡単です: http://www.petefreitag.com/item/208.cfm

https://docs.djangoproject.com/en/1.3/ref/contrib/syndication/に記載されているように、django でも RSS を簡単に作成できます。

これら2つを組み合わせる方法は?または、django が提供するフィード フレームワークを使用しながら CSS を RSS に追加する方法を教えてください。

独自の RSS xml ファイルを作成できることはわかっていますが、フレームワークが正常に機能しているのに、なぜそうしなければならないのでしょうか? コードの強調表示などを使用できるように、css をリンクする方法が必要なだけです。

djangoできれいなRSSを提供するためのベストプラクティスは何ですか?

4

2 に答える 2

2

この回答を考えると、おそらく努力する価値はありませんが、これを行う方法を見つけました。これはかなり醜いですが、XML出力に関しては機能します。上記の解決策は、Django 1.5 では機能しませんでした。

私の Feed クラスでは、callメソッドを次のように上書きします。

from django.contrib.syndication.views import Feed

class MyFeed(Feed)

    def __call__(self, request, *args, **kwargs):
        response = super(MyFeed, self).__call__(request, *args, **kwargs)

        # Add stylesheet, is it worth it?
        css = '<?xml-stylesheet type="text/css" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" ?>\n'
        start = '<rss xmlns:atom'
        response.content = response.content.replace(start, css + start)

        return response
于 2013-09-02T21:15:08.607 に答える
0

これを行う1つの方法は、カスタムページビューを作成し、URLをこのページビューにポイントすることだと思います(Djangoシンジケーションページから例を変更します)。

(r'^beats/(?P<beat_id>\d+)/rss/$','yourapp_views_custompageview'),

次に、このページビューで、に戻り<?xml-stylesheet type="text/css" href="http://you.com/rss.css" ?> + BeatFeed()ます。ここで、BeatFeedはFeedClassです。

現在、フィードフレームワークを使用していないため、テストが困難です。これが機能するか、問題が発生した場合はお知らせください。

https://code.djangoproject.com/browser/django/trunk/django/utils/feedgenerator.pyもご覧ください。

于 2011-08-16T22:52:55.633 に答える