私は django サイトを持っており、一部のフィードは FeedBurner を通じて公開されています。特定のモデルのインスタンスを保存するたびに FeedBurner に ping を送信したいと考えています。FeedBurner の Web サイトには、XML-RPC ping メカニズムを使用するように記載されていますが、その実装方法に関するドキュメントはあまり見つかりません。
django/PythonでXML-RPC pingを実行する最も簡単な方法は何ですか?
signals
モデルが保存された後、Django の機能を使用してコールバックを取得できます。
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')