私はdjangoサイトを持っていて、フィードの一部はFeedBurnerによって公開されています。私は特定のモデルのインスタンスを保存するたびにFeedBurnerにpingをしたいと思います。 FeedBurnerのWebサイトには、XML-RPC pingのメカニズムが使われていると言われていますが、実装方法に関する多くの文書は見つかりません。Django AppのPing FeedBurner
django/PythonでXML-RPC pingを実行する最も簡単な方法は何ですか?
私はdjangoサイトを持っていて、フィードの一部はFeedBurnerによって公開されています。私は特定のモデルのインスタンスを保存するたびにFeedBurnerにpingをしたいと思います。 FeedBurnerのWebサイトには、XML-RPC pingのメカニズムが使われていると言われていますが、実装方法に関する多くの文書は見つかりません。Django AppのPing FeedBurner
django/PythonでXML-RPC pingを実行する最も簡単な方法は何ですか?
モデルが保存された後、あなたはコールバックを得るために、Djangoのsignals
機能を使用することができます。
import xmlrpclib
from django.db.models.signals import post_save
from app.models import MyModel
def ping_handler(sender, instance=None, **kwargs):
if instance is None:
return
rpc = xmlrpclib.Server('http://ping.feedburner.google.com/')
rpc.weblogUpdates.ping(instance.title, instance.get_absolute_url())
post_save.connect(ping_handler, sender=MyModel)
を明らかにあなたのためにどのような作品でこれを更新する必要があり、あなたが別のイベントをしたい場合は、アプリを読んで信号を読んでください。
多分そのようSTH:
import xmlrpclib
j = xmlrpclib.Server('http://feedburnerrpc')
reply = j.weblogUpdates.ping('website title','http://urltothenewpost')
プラグイン可能なアプリケーションのLuke!
ただ、人々はGoogleがFeedBurnerのを取得しているため、新しいURLがhttp://ping.feedburner.google.comであることを知らせたいです。 – Apreche
サーバURLの最後にスラッシュを追加する必要があります。そうしないと、RPC呼び出しはping.feedburner.google.com/RPC2に行き、404エラーになります。 – iamamac
@lamamacスラッシュを追加しました。それをキャッチするためにありがとう! – tghw