2013-02-20 3 views
1

Я знаю, что их уже много сообщений об этом, но я пробовал много решений, и я не могу отобразить свою форму!Django User Profile Form Empty

Я хочу сделать что-то очень простое (я новичок в 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

Все выглядит нормально, вы пропустили что-либо при отправке сообщений? – Rohan

+0

Нет, я ничего не пропустил, я застрял на этом сейчас ... –

ответ

6

meta внутренний класс должен быть капитализированы - Meta

class UserProfileForm(forms.ModelForm): 
    class Meta: # not meta 
     model = UserProfile 
+0

Whaou я чувствую, что должен быть новыми очками .... Он работает сейчас :) –