1
ChiangDi OP 为什么编辑主题时的那个选择 markdown 语法不起作用...
|
2
ChiangDi OP 我在 sf.gg 上提了这个问题,排版好点 http://segmentfault.com/q/1010000000631018
|
3
wangyongbo 2014-08-08 14:44:44 +08:00 1
看看这个 https://docs.djangoproject.com/en/dev/topics/forms/modelforms/
首先,每个用户应该已经有了一个UserProfile form = UserProfileForm(request.POST) 改为 form = UserProfileForm(request.POST, instance = request.user.userprofile) |
4
rockyaow 2014-08-08 14:58:15 +08:00 1
UserProfile 这个model定义的不对,应该继承abstract为True的 AbstractBaseUser类,这样才能继承其他属性。详情看一下django源码里面auth 的 model
|
5
rockyaow 2014-08-08 14:59:13 +08:00 1
sorry,不太对
|
6
wenbinwu 2014-08-08 15:28:41 +08:00 1
Form里只有fields = ('website')
没有user |
7
ChiangDi OP @wangyongbo 非常感谢,我觉得你的想法是对的,按照你的改动后,表单提交后,会显示错误 "User has no profile", 因为他本来是没有profile的 ?
|
8
ChiangDi OP @wangyongbo 非常感谢,已经谷歌搞定,加了一行 User.profile = property(lambda u: UserProfile.objects.get_or_create(user=u)[0])
就好了,也不知道是啥意思。。 |
9
wangyongbo 2014-08-09 12:59:40 +08:00
@ChiangDi 这句话的意思是说,读取User的 profile 时,使用 lambda u: UserProfile.objects.get_or_create(user=u)[0] 这个函数, 而这个函数,会获取用户的UserProfile. 如果不存在就创建一个新的。
|