私のプロファイルに関する情報を表示するためにDjango Adminインターフェイスを取得しようとしています。すべてのユーザーは表示されますが、プロファイル情報は表示されません。私はそれを働かせる方法がかなり分かりません。Django - User、UserProfile、and 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のコードを新しいパッケージの 'admin.py'に入れて、' INSTALLED_APPS'に追加しましたか? –
adminのコードは、私の "auth"アプリケーション内のadmin.pyにあります。 authはINSTALLED_APPSにあります。私はまた、私の認証プロファイルモジュールを正しく設定しました。 – JPC
あなたは競合する可能性があるため、authは悪い名前のようです。 –