Django-用户,UserProfile和管理员
我正在尝试获取Django Admin界面来显示有关我的个人资料的信息。它显示我的所有用户,但不显示个人资料信息。我不太确定如何使它正常工作。
我在Google快速搜索后找到了以下代码:
from auth.models import UserProfilefrom django.contrib import admin
from django.contrib.auth.models import User
from django.contrib.auth.admin import UserAdmin
admin.site.unregister(User)
class UserProfileInline(admin.StackedInline):
model = UserProfile
class UserProfileAdmin(UserAdmin):
inlines = [UserProfileInline]
admin.site.register(User, UserProfileAdmin)
但是,我认为它没有用。当我登录到管理页面时,我看到“用户”,“组”和“站点”。我单击用户,然后看到所有用户的列表,但没有任何个人资料的迹象。单击某个用户会显示有关该用户的信息,但仍然没有个人资料信息。
如果有帮助,这是我的模型声明:
from django.db import modelsfrom django.contrib.auth.models import User
class UserProfile(models.Model):
company = models.CharField(max_length=30)
user = models.ForeignKey(User, unique=True)
还有我的注册码:
def register(request): if request.method == 'POST':
uf = UserForm(request.POST)
upf = UserProfileForm(request.POST)
if uf.is_valid() and upf.is_valid():
user = uf.save()
userprofile = upf.save(commit=False)#need to get the user profile object first
userprofile.user = user #then set the user to user
userprofile.save() #then save to the database
return HttpResponseRedirect('/auth/login/')
else:
uf = UserForm()
upf = UserProfileForm()
return render_to_response('register.html', dict(userform=uf,userprofileform=upf),context_instance=RequestContext(request))
回答:
我看不到到底出了什么问题,但这是一个我知道有效的简单示例。把这是任何工作admin.py。尝试在行内添加尾随逗号-如果没有逗号,某些内容可能会中断。
from django.contrib import adminfrom django.contrib.auth.models import User
from django.contrib.auth.admin import UserAdmin
from accounts.models import UserProfile
admin.site.unregister(User)
class UserProfileInline(admin.StackedInline):
model = UserProfile
class UserProfileAdmin(UserAdmin):
inlines = [ UserProfileInline, ]
admin.site.register(User, UserProfileAdmin)
以上是 Django-用户,UserProfile和管理员 的全部内容, 来源链接: utcz.com/qa/428328.html