¿Cómo agregar campos extra al formulario de registro de django?

Tengo un formulario de registro que genera a la vista. Ahora necesito agregar algunos campos de otro modelo. ¿Cómo debo cambiar la vista para agregar campos de otro modelo?

Aquí está mi código de vista:

def register(request): """ User registration """ if auth.get_user(request).username: return redirect('/') context = {} context.update(csrf(request)) context['form'] = UserCreationForm() if request.POST: newuser_form = UserCreationForm(request.POST) if newuser_form.is_valid(): newuser_form.save() newuser = auth.authenticate(username=newuser_form.cleaned_data['username'], password=newuser_form.cleaned_data['password2']) auth.login(request, newuser) return redirect('/') else: context['form'] = newuser_form return render(request, 'user_auth/user_auth_register.html', context) 

Algo como esto debería ayudarte:

 from django import forms from django.contrib.auth.models import User from django.contrib.auth.forms import UserCreationForm class UserCreateForm(UserCreationForm): extra_field = forms.CharField(required=True) class Meta: model = User fields = ("username", "extra_field", "password1", "password2") def save(self, commit=True): user = super(UserCreateForm, self).save(commit=False) user.extra_field = self.cleaned_data["extra_field"] if commit: user.save() return user 

Básicamente, extendiendo UserCreationForm y agregando un campo adicional. Además, guárdelo en el método save() .

Espero eso ayude.