I just saw the presentation of Mr. Eric Florenzano at Pycon 2010, and he talks about a side project he did on facebook using django.
From PYCON 2010:
If you've been using Django for any
amount of time, you've probably
learned some pretty standard practices
on how to use it. This talk aims to
shatter those conceptions and teach
you alternative ways that you could
These alternate ways
come broadly in two varieties: Using
parts of Django outside of it, and
choosing alternatives to what Django
offers. If you haven't done either of
these things before, it may seem
tricky or difficult. In fact, it may
This talk will walk you
through the process and talk about
what to expect if your project just
doesn't seem to "fit the mold".
I recommend you check out his blog and the presentation.
How to build a Facebook app in Django
Example Facebook application in Django
Two-Faced Django Part 1: Building a
project that exists simultaniously
on Facebook and the web
Python Sdk is rather badly maintained.
Think you best option is Django Facebook:
If you just want to get started, check out Fandjango on github. Its a simple middleware layer that adds a
facebook_user attribute to the request object when the user is logged in, and sets it to None when they are not logged in. It also has an easy way to call the Graph API with the users' credentials.
Note: It only works on Facebook Apps. Websites using facebook connect use a slightly different protocol.
Also note: Any library that references 'pyfacebook' is using the old FB API and you should avoid that.
The new one that uses the Graph API is python-sdk. You shouldn't use python-sdk either since its deprecated - thanks @pydanny. I haven't researched it, but facebook-sdk looks actively maintained.