我知道他们已经发布了大量关于此事的帖子,但我尝试了很多解决方案而且我无法显示我的表格!
我想做一些非常简单的事(我是Django初学者),我创建一个特定的UserProfile来扩展基本的,我想让用户编辑它:
这是我的模特:
class UserProfile(models.Model):
user = models.OneToOneField(User)
cc = models.CharField(max_length=400, blank=True)
lang = models.CharField(max_length=5, blank=True, )
def __unicode__(self):
return unicode(self.user.email)
class UserProfileForm(forms.ModelForm):
class meta:
model = UserProfile
def __init__(self,*args,**kwargs):
super(UserProfileForm, self).__init__(*args, **kwargs)
self.user = kwargs['instance']
def create_user_profile(sender, instance, created, **kwargs):
if created:
UserProfile.objects.create(user=instance)
post_save.connect(create_user_profile, sender=User)
这是我的查看方法:
@login_required
def accountform(request):
data = {}
data.update(csrf(request))
user_profile = request.user.get_profile()
data['form'] = UserProfileForm(instance=user_profile)
print user_profile
return render(request, 'accountform.html', data)
这是我的模板:
<form action="/contact/" method="post">
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
当我显示来自我时,只看到提交按钮...
答案 0 :(得分:6)
meta
内部类应该大写 - Meta
class UserProfileForm(forms.ModelForm):
class Meta: # not meta
model = UserProfile