Programming in almost language

Thi s is the site where you may share your knowledge and experience to eachother..

Archive for the ‘django-registration-profile’ Category

django-registration and django-profile save together at once

Posted by Praveen Kumar on April 21, 2009

models.py

class UserProfile(models.Model):

user = models.ForeignKey(User, unique=True, verbose_name=_(‘user’)) gender = models.CharField(_(‘gender’), max_length=10)
dob = models.DateField(_(‘dob’), max_length=10)
city = models.CharField(_(‘res_city’), max_length=30)
pincode = models.IntegerField(_(‘pincode’), max_length = 10)
mobile = models.CharField(_(‘mobile’), max_length = 15)

objects = ProfileManager()

def __unicode__(self):

return u”%s” % self.user

def get_absolute_url(self):

return (‘profiles_profile_detail’, (), { ‘username’: self.user.username })

views.py

def register(request, success_url=None,form_class=RegistrationForm, profile_callback=None,
template_name=’registration/registration_form.html’,
extra_context=None):

pform_class = utils.get_profile_form()
if request.method == ‘POST’:

profileform = pform_class(data=request.POST, files=request.FILES)
form = form_class(data=request.POST, files=request.FILES)
if form.is_valid():

new_user = form.save()
profile_obj = profileform.save(commit=False)
profile_obj.user = new_user

profile_obj.save()

return HttpResponseRedirect(‘/accounts/register/complete/’) #return HttpResponseRedirect(success_url or reverse(‘registration_complete’))

else:

form = form_class()

profileform = pform_class()

if extra_context is None:

extra_context = {}

context = RequestContext(request)

for key, value in extra_context.items():

context[key] = callable(value) and value() or value

return render_to_response(template_name,{‘form’: form,’profileform’:profileform,,context_instance=context)

urls.py

———–

url(r’^accounts/register/$’,register, {‘form_class’: RegistrationForm, ‘profile_callback’:UserProfile.objects.profile_callback},name = ‘registration_register’),

here we are rendering form and profileform to generate fields on registration_form.htm

Posted in django-registration-profile | Tagged: | 8 Comments »