Я хотел бы добавить новые поля в профиле пользователя. Он работает на стороне admin , но не экономит на интерфейсе ...
Это очень любопытно, потому что ошибки не отображаются, просто нужно сохранить.
В следующем коде я добавил поле «CPF» в userprofile. Он правильно отображается в форме внешнего интерфейса, а затем я пытаюсь сохранить его (здесь возникает некоторая проблема)
Я ценю любую помощь.
models.py
from django.db import models
from django.contrib.auth.models import User
...
cpf = models.CharField('CPF',max_length=14)
...
def __unicode__(self):
return self.cpf
forms.py
from django.contrib.auth.forms import UserCreationForm
from django import forms
from django.contrib.auth.models import User
from usuario.models import UserProfile
class cadastroForm(UserCreationForm):
...
cpf = forms.CharField(label='CPF')
class Meta:
model = User
fields = ("username", "cpf")
def save(self, commit=True):
...
user.cpf = self.cleaned_data["cpf"]
if commit:
user.save()
return user
views.py
def cadastro(request):
if request.method == 'POST':
form = cadastroForm(request.POST)
if form.is_valid():
new_user = form.save()
return HttpResponseRedirect("/")
else:
form = cadastroForm()
return render_to_response("registration/registration.html", {
'form': form,
})
admin.py (работает нормально, никаких изменений не требуется)
from django.contrib import admin
from usuario.models import UserProfile
from django.contrib.auth.models import User
from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
class UserProfileInline(admin.StackedInline):
model = UserProfile
max_num = 1
can_delete = False
class UserAdmin(AuthUserAdmin):
inlines = [UserProfileInline]
admin.site.unregister(User)
admin.site.register(User, UserAdmin)