DjangoWeb開發(fā)--增加用戶字段
在django默認(rèn)的用戶表中增加字段比如用戶簡介,QQ號庸蔼。
1.使用外鍵擴(kuò)展
models.py
from django.contrib.auth.models import User
class UserProfile(models.Model):
user = models.OneToOneField(User)
desc = models.TextField(blank=True, null=True)
admin.py
from django.contrib.auth.models import User
from blog.models import UserProfile
class ProfileInline(admin.StackedInline):
model = UserProfile
verbose_name = 'profile'
class UserAdmin(admin.ModelAdmin):
inlines = (ProfileInline,)
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
views.py
from django.contrib.auth.models import User
def user(request):
users = User.objects.all()
for user in users:
print user.userprofile.desc
return HttpResponse(users)
2.繼承AbstractUser(這種方法更好)
models.py
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
desc = models.TextFiled()
settings.py
AUTH_USER_MODEL = 'blog.User'
admin.py
from blog.models import User
admin.site.register(User)