2016-09-08 4 views
0

URLのアプリケーションリンクを含むRSSフィードを作成していますが、Djangoはhttp:で始まらないリンクにドメイン名を付加しています。 //がHTTPとして終わるされています:私はベースのフィードを構築していないよので ://example.comitunes:// ...DjangoがRSSフィードのURLの先頭にドメインを追加しないようにします。

が更新のiTunesでなければなりませんので、URLをモデルを作成するには、Feedクラスで次のリンクを使用しています。私は)彼らは(ITEM_LINKに渡されるべきときのように、彼らは正確であることを確認しましたが、DjangoはHTTPで始まっていないすべてのリンクの前にhttp://example.comを追加:

def item_link(self, item): 
    return item['url'] 

リンクがhttp://foo.com/some_external_domain/の場合は問題ありません。 リンクがのiTunesの場合:// some_itunes_store_link、Djangoはhttp://example.comitunes://some_itunes_store_link

にドメイン名が正しいことになります。それは問題ではありません。問題は、そのリンクを壊すことなく、アプリケーションのリンクの先頭にドメイン名を付けることができないことです。私はDjangoに修正する必要のないリンクの修正を止めるように指示する方法を理解できません。

+0

管理者のサイトを確認することはありますか? –

+0

私は管理者のサイトオプションも持っていません。しかし、私がした場合、それを変更しないと、それに依存するサイトの他の部分に影響を与えますか?私はちょうどDjangoが "訂正"すべきではないフィードURLを修正しようとしないようにする必要があります。 – Jamie

+0

いくつかのコードを表示できますか?良いリンク属性が設定されていない可能性がありますか? –

答えて

0

これはDjangoでは不可能です。 Djangoのfeed documentationによる

リンクがドメインを返さない場合、配信フレームワークは あなたのSITE_ID 設定に従って、現在のサイトのドメインを挿入します。

私の解決策は、RSSフィード全体をテンプレートとして手動で構築することでした。これは、Djangoフィードの単純なオプションでなければならないことに対する不幸な解決策ですが、機能します。