在Django中自定义用户个人资料
|
我想在用户个人资料中添加新字段。它在管理员端工作,但在前端却无法保存...
它非常好奇,因为没有错误显示,它确实可以保存。
在以下代码中,我向用户配置文件添加了字段“ CPF”。它在前端表单中正确显示,然后我尝试保存它(这里发生了一些问题)
感谢您的帮助。
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
表格
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)
没有找到相关结果
已邀请:
2 个回复
穗揣
荆怖赡