I'm using the auth module for my project and I've got a registration form that's based on the "UserCreationForm" provided by "django.contrib.auth.forms" but it's only showing the username and password fields.
I want a registration process that requires users to fill out ALL of the "User" fields plus the fields in my "UserProfile" model. If someone has some basic suggestions for how to modify the UserCreationForm to include these additional fields I'm all ears. I managed to find some basic examples of how to hide certain ModelForm fields or change their labels but nothing about adding additional fields, particularly from other models. In addition to modifying the UserCreationForm I've come across a couple of leads: 1. Build my own registration process following this example: http://www.b-list.org/weblog/2006/sep/02/django-tips-user-registration/ I'm concerned with how old this post is. Is this approach still valid given that it was posted in 2006? The author is using both the User model and his own UserProfile model. I think that I could adapt this for my purpose. 2. Use the django-registration package provided by the same author http://bitbucket.org/ubernostrum/django-registration/overview I'm concerned with having to install additional packages into Django. It seems like this will make deploying my application on a Web host more difficult. Can anyone speak to this? Thank you for your suggestions. I've provided my code thus far below. # forms.py from django import forms from django.contrib.auth.forms import UserCreationForm from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from django.template import RequestContext def register(request): if request.method == 'POST': form = UserCreationForm(request.POST) if form.is_valid(): new_user = form.save() return HttpResponseRedirect("/somewhere/") else: form = UserCreationForm() return render_to_response("registration/register.html", {'form':form,}, context_instance=RequestContext(request)) # profiles.models.py from django.db import models from django.contrib.auth.models import User from ylbbq.areas.models import Area class UserProfile(models.Model): user = models.ForeignKey(User, unique=True) phone = models.CharField(max_length=12) address = models.CharField(max_length=70) city = models.CharField(max_length=50) STATES = ( ('AK', 'Alaska'), ... ) state_province = models.CharField(max_length=2, choices=STATES, verbose_name='State or Province') COUNTRIES = ( ('USA', 'United States'), ('Canada', 'Canada') ) country = models.CharField(max_length=20, choices=COUNTRIES) zip_code = models.CharField(max_length=5) birth_date = models.DateField() areas = models.ManyToManyField(Area) # templates/registration/register.html {% extends "base.html" %} {% block title %} Account Registration {% endblock %} {% block content %} <h1>Create an account</h1> <form action="" method="post">{% csrf_token %} {{ form.as_p }} <input type =submit value="Create Account" /> </form> {% endblock %} -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.