关于 Django auth_user 表字段扩展,大家能不能给些好的建议呢?

2014-04-23 11:13:56 +08:00
 pykwokcc
新手初学Django, 发现Django自带的auth_user表字段太少, 比如我想给user增加一个'avatar'字段来表示用户头像。网上搜了一下说新建一张profile表来存放额外字段,并且与auth_user建立一对一的关系。 想问问大家有没有什么好的建议。 我用的是Django1.6版本。
6406 次点击
所在节点    Python
7 条回复
ericFork
2014-04-23 11:45:38 +08:00
官方推荐的方式就是这样,另外推荐 django-profiletools,可以省不少事
zeq
2014-04-23 11:46:43 +08:00
1.5以上版本已经不支持AUTH_PROFILE_MODULE方式来扩展用户模型了.
可以尝试用AUTH_USER_MODEL来扩展.https://docs.djangoproject.com/en/dev/topics/auth/customizing/#auth-custom-user
aggron
2014-04-23 12:28:54 +08:00
如果你要保留自带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的相关文档
xiawinter
2014-04-23 14:25:34 +08:00
avatar 未来可能要扩展, 不是加个字段。 我的经验是不要这么整了, avatar 独立出来一个 app, 在 app 里来写 avatar 逻辑。

如果你在 auth_user 加了字段,哪里写 avatar 上传,剪切的代码呢?

加个 app 什么都搞定了
pykwokcc
2014-04-23 15:46:23 +08:00
@xiawinter 你的建议不错,但是 如果我在 auth_user 加了字段,为什么不能实现上传和裁剪了呢,应该是可以实现的吧
pykwokcc
2014-04-23 16:43:43 +08:00
@aggron 发现你说的方法可以,刚刚试了下,就是我需要达到的样子,谢啦
xiawinter
2014-04-23 18:09:17 +08:00
@pykwokcc 你代码放什么地方?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/109662

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX