Django-用户,UserProfile和管理员

我正在尝试获取Django Admin界面来显示有关我的个人资料的信息。它显示我的所有用户,但不显示个人资料信息。我不太确定如何使它正常工作。

我在Google快速搜索后找到了以下代码:

from auth.models import UserProfile

from 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 models

from 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 admin

from 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

回到顶部