One of the great things of Django is that it ships with a variety of useful apps (and that there is a notion of apps in the first place). One of them is django.contrib.auth, an user authentication system. In Django views you can make use of request.user to retrieve a User instance which represents the currently logged-in user. Django even allows you to attach application specific profiles to these user models. That’s how you do it:
Start by creating a new Django model which will represent a user profile.
This profile will just add a description text field to the user profile. Make sure to create a one-to-one relationships to Django’s User model. Next you have to tell Django that it should use this model as a user profile. You do this by adding the following line to your settings.py.
That’s all you need to add a profile to the Django User model. You can now retrieve the profile by calling get_profile() on a User instance. But wait - there is one thing left.
When a new User is registered we need to create a user profile. You can do this using signals in the following way (add this after you profile model in models.py).