Skip to main content

Facebook open graph API client in python. Enables django applications to register users using facebook. Fixes issues with the official but unsupported Facebook python-sdk. Enables mobile facebook authentication. Canvas page authentication for facebook applications. FQL access via the server side api.

Project description

############################################
Django Facebook by Thierry Schellenbach (http://www.mellowmorning.com)
############################################

About Django Facebook
--------

Django Facebook allows you to connect to the Facebook Open Graph API.

Features
Access the Facebook API
Django User Registration (Use Facebook data to register a user with your Django app. Facebook connect using the open graph API. Similar to a login flow.)
Canvas Page signature parsing and authentication (If your building facebook apps)

Works best with
--------

registration
django auth

TODO (help appreciated)
--------

testing (especially a dummy FB api)
separate user data conversion and FB api improvements
fully replace the facebook GraphAPI which they no longer support


New in Version 2.0 Alpha
--------

canvas page support for facebook applications
mobile facebook registration support (tested with titanium FB flow)
less requirements (jinja, view decorator, django notify and cjson requirements removed)
fql support


Installing
--------

Step 0 - Create a facebook app
In case you don't yet have a facebook app. You need an app to use the open graph api and make the login process work.
You can create a facebook app at this url:
http://www.facebook.com/developers/createapp.php

Step 1 - Settings:
Define the settings mentioned in django_facebook/settings.py in your settings.py file

Step 2 - Url config:
add
(r'^facebook/', include('django_facebook.urls')),
to your global url file

Step 3 - Template Context Processor
add this line to your context processors
'django_facebook.context_processors.facebook',

Step 3 - Ensure the FB JS api is available on all pages you want to login
[Facebook JS API](http://developers.facebook.com/docs/reference/javascript/)

Step 4 - Update your models

Add to your user profile model
about_me = models.TextField(blank=True, null=True)
facebook_id = models.IntegerField(blank=True, null=True)
facebook_name = models.CharField(max_length=255, blank=True, null=True)
facebook_profile_url = framework_fields.URLTextField(blank=True, null=True)
website_url = framework_fields.URLTextField(blank=True, null=True)
blog_url = framework_fields.URLTextField(blank=True, null=True)
image = models.ImageField(blank=True, null=True)
date_of_birth = models.DateField(blank=True, null=True)

Step 5 - Template
See examples/connect.html


Django Jobs
--------
Do you also see the beauty in clean code? Are you experienced with high scalability web apps?
Currently we're looking for additional talent over at our Amsterdam office.
Feel free to drop me a line at my personal email for more information: thierryschellenbach[at]gmail.com

Project details


Release history Release notifications | RSS feed

This version

2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-facebook-2.0.zip (17.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page