XML-RPC in Django
Posted at 21:00:47
on Sun, May 13th 2007 by graham
in:
django
django_xmlrpc
python
xml-rpc
When I first started thinking about re-writing grahambinns.com in Python using the Django framework, one of the things that I knew I wanted to be able to do was make blog posts (amongst other things) using the MetaWeblog API, which is one of the many zillion XML-RPC blog posting APIs that exist out there in the intartubes.
XML-RPC isn't one of the features that Django supports out-of-the-box for fairly obvious reasons; whilst it's not exactly a niche market it is something that needs to be specifically tailored to the sites that use it, so implementing it would exactly be the first priority for the Django cadre.
Because Python already offers some pretty kick-ass XML-RPC library code in the form of xmlrpclib (Python rocks, by the way), which made it easy to implement a simple XML-RPC server myself, I did. And now you can use it, if you want to.
django_xmlrpc (as I've unimaginatively called it) offers a Django app that allows you to expose your functions through XML-RPC. At present it doesn't support introspection, but that's the next aim for it.
You can find django_xmlrpc, along with instructions about how to use it, at its Google Code site (n.b., I'd like to use Launchpad exclusively for this, but for the time being I'm using Google code until I can get round to setting up a wiki and what have you). If you've got any issues, please report them using either Google Code's bug tracker or (for preference) the project's Launchpad bug tracker.
I'm working on making my MetaWeblog implementation a little more generic; more news on that as and when.
Comments
Add your comment
Sorry, anonymous comments are disabled. Please sign in with OpenID if you want to comment.
If you don't have an OpenID, you can get one at myopenid.com.


Just to point out, there's been code on the Django Wiki for nearly a year to do XML-RPC:
http://code.djangoproject.com/wiki/XML-RPC
# On May 15, 2007 at 02:40:45 by
B.W. McAdams
Reply to this
You're quite right, there has, and that was what I based my code upon. In fact, I've now amended the code in the development trunk to reflect this fact (my bad; I completely forgot to include the acknowledgement, for which I beseech a thousand monkeys to flay me in a ritualistic manner).
The reason that I decided to take that code and turn it into something that (I think) is more flexible is simply to save people a bit of legwork.
# On May 16, 2007 at 08:35:44 by Graham Binns Reply to this