Posts Tagged ‘coding’

Allow your visitors to sign in via Twitter, Facebook, FriendFeed, OpenID, and OAuth with django-socialregistration

Wednesday, October 28th, 2009


The title says it all. Allow your visitors to sign in via Twitter, Facebook, FriendFeed, OpenID, and OAuth with django-socialregistration. Hence the name, “social registration”. I’ve been tinkering with this module and I’ve just got the Twitter OAuth login/registration to work. It’s pretty neat!

You know how much you loathe having to register/sign-up for yet another new service, just to try it? Well, as a site owner, it’s really in your best interest to lower the bar for the public to figure out if they want to use your service. Make it as frictionless as possible.

The README provides all the instructions you need, except one thing: you must explicitly tell Django’s authentication process to also check the socialregistration module’s authentication backend

In other words, in your settings.py:

AUTHENTICATION_BACKENDS = (

    # this is the default backend, don't forget to include it!
    'django.contrib.auth.backends.ModelBackend', 

    # this is what you're adding for using Twitter
    'socialregistration.auth.TwitterAuth', 

    'socialregistration.auth.FacebookAuth', # Facebook

    'socialregistration.auth.OpenIDAuth', # OpenID

    )

You can either add it in your settings.py or global_settings.py (mine’s in /usr/local/lib/python2.6/dist-packages/django/conf/ )
(more…)

mod_wsgi compile error: missing Python development package?

Tuesday, September 22nd, 2009

If you’re seeing an error like this when trying to compile mod_wsgi, it’s likely that you don’t have the Python development package installed. Solution: apt-get install python-dev

Turns out, a lot of things can go wrong when you try to compile mod_wsgi, and I spent a good chunk of time before finding it out here. I hope that by posting this here, I would save others the headache. The last few lines of the error was quite misleading, imho. But like they all say, in hindsight, everything’s 20/20

root@jaysern:/usr/local/mod_wsgi-2.5# make > error
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
/usr/local/apache2/build/libtool --silent --mode=compile gcc -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache2/include -I/usr/local/apache2/include -I/usr/local/apache2/include -I/usr/include/python2.6 -DNDEBUG -c -o mod_wsgi.lo mod_wsgi.c && touch mod_wsgi.slo
mod_wsgi.c:113:20: error: Python.h: No such file or directory
mod_wsgi.c:114:21: error: compile.h: No such file or directory
mod_wsgi.c:115:18: error: node.h: No such file or directory

*** snip ***

mod_wsgi.c:11684: error: expected expression before ')' token
mod_wsgi.c:11691: error: expected ';' before 'ap_log_rerror'
mod_wsgi.c:11696: error: expected ';' before '}' token
mod_wsgi.c:11710: error: expected expression before 'module'
apxs:Error: Command failed with rc=65536
.
make: *** [mod_wsgi.la] Error 1
root@jaysern:/usr/local/mod_wsgi-2.5#