Estoy intentando que la interfaz de administración de Django muestre información sobre mi perfil. Muestra todos mis usuarios, pero no hay información de perfil. No estoy muy seguro de cómo hacerlo funcionar.Django - Usuario, Perfil de usuario y Administrador
me encontré con este código después de una rápida búsqueda en 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)
Sin embargo, no creo que haya funcionado. Cuando inicio sesión en la página de administración, veo Usuarios, Grupos y Sitios. Hago clic en Usuarios y veo una lista de todos mis Usuarios, pero no indico ningún perfil. Al hacer clic en un usuario, se muestra información sobre ese usuario, pero todavía no hay información de perfil.
Si se va a ayudar, aquí es mi modelo de declaración:
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)
Y mi código de registro:
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))
¿Pusiste el código para el administrador en el paquete de una nueva aplicación en 'admin.py' y lo agregaste a' INSTALLED_APPS'? –
El código para el administrador está en admin.py dentro de mi aplicación "auth". auth está en INSTALLED_APPS. También configuro mi Auth Profile Module correctamente. – JPC
auth parece una mala reputación porque puede tener un conflicto. –