新手初学Django, 发现Django自带的auth_user表字段太少, 比如我想给user增加一个'avatar'字段来表示用户头像。网上搜了一下说新建一张profile表来存放额外字段,并且与auth_user建立一对一的关系。 想问问大家有没有什么好的建议。 我用的是Django1.6版本。

1 ericFork Apr 23, 2014 官方推荐的方式就是这样,另外推荐 django-profiletools,可以省不少事 |
2 zeq Apr 23, 2014 1.5以上版本已经不支持AUTH_PROFILE_MODULE方式来扩展用户模型了. 可以尝试用AUTH_USER_MODEL来扩展.https://docs.djangoproject.com/en/dev/topics/auth/customizing/#auth-custom-user |
3 aggron Apr 23, 2014 如果你要保留自带User表中的字段,直接继承就好了 from django.contrib.auth.models import AbstractUser class User(AbstractUser): avatar = models.URLField(blank=True) website = models.URLField(blank=True) 然后setttings.py中增加 AUTH_USER_MODEL = 'yourAppName.User' 具体可以看AUTH_USER_MODEL的相关文档 |
4 xiawinter Apr 23, 2014 avatar 未来可能要扩展, 不是加个字段。 我的经验是不要这么整了, avatar 独立出来一个 app, 在 app 里来写 avatar 逻辑。 如果你在 auth_user 加了字段,哪里写 avatar 上传,剪切的代码呢? 加个 app 什么都搞定了 |