Django-UserProfile don';救不了
我是Django和Python的新手。。。我正在尝试做我自己的注册表格,以添加一些附加字段(在关于配置文件的文档之后)。。。测试时一切正常,但保存后,附加字段不保存,没有错误,只是不保存,仅创建用户。。。但是,如果我在create_profile函数中手动写入一些值,它会正确保存。。如何从UserCreateForms传递字段以创建_配置文件例程 对不起,我的英语不好,谢谢你的帮助,我参与了一个学习小项目,我为这个细节停了下来 模型 形式 意见 我正在使用Python 2.7和Django 1.4。。问候,Django-UserProfile don';救不了,django,python-2.7,Django,Python 2.7,我是Django和Python的新手。。。我正在尝试做我自己的注册表格,以添加一些附加字段(在关于配置文件的文档之后)。。。测试时一切正常,但保存后,附加字段不保存,没有错误,只是不保存,仅创建用户。。。但是,如果我在create_profile函数中手动写入一些值,它会正确保存。。如何从UserCreateForms传递字段以创建_配置文件例程 对不起,我的英语不好,谢谢你的帮助,我参与了一个学习小项目,我为这个细节停了下来 模型 形式 意见 我正在使用Python 2.7和Django 1.
class UserProfile(models.Model):
user = models.OneToOneField(User)
cedula_de_identidad = models.CharField(max_length=9)
def create_profile(sender, instance, created, **kwargs):
if created:
UserProfile.objects.create(user=instance, cedula_de_identidad='If I write here it's saved correctly')
post_save.connect(create_profile, sender=User)
class UserCreateForm(UserCreationForm):
email = forms.EmailField(required=True)
cedula_de_identidad = forms.CharField(required=True)
class Meta:
model = User
fields = ("email", "username", "password1", "password2")
def clean_username(self):
username = self.cleaned_data['username']
# if not re.search(r'^\w+$', username):
# raise forms.ValidationError('Username can contain only alphanumeric characters')
try:
User.objects.get(username=username)
except ObjectDoesNotExist:
return username
raise forms.ValidationError('Username is already taken')
def save(self, *args, **kwargs):
user = super(UserCreateForm, self).save(*args, **kwargs)
profile = UserProfile()
profile.user = user
profile.cedula_de_identidad = self.cleaned_data['cedula_de_identidad']
profile.save
return profile
def nuevo_usuario(request):
if request.method == 'POST':
formulario = UserCreateForm(request.POST)
if formulario.is_valid():
formulario.save()
return HttpResponseRedirect('/')
else:
formulario = UserCreateForm()
return render_to_response('nuevousuario.html', {'formulario': formulario}, context_instance=RequestContext(request))