/ / Django Benutzerprofil Formular leer - django, django-forms, django-users

Django Benutzerprofil Formular leer - django, django-forms, django-users

Ich weiß, dass es schon eine Menge Post darüber gibt, aber ich habe viele Lösungen ausprobiert und kann mein Formular nicht anzeigen!

Ich möchte etwas wirklich einfaches machen (ich bin ein Django-Anfänger), ich erstelle ein spezielles UserProfile, um das Basisprofil zu erweitern, und ich möchte es dem Benutzer erlauben, es zu bearbeiten:

Hier ist mein Modell:

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)

Hier ist meine Ansichtsmethode:

@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)

Hier ist meine Vorlage:

<form action="/contact/" method="post">
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>

wenn ich das zeige, sehe ich nur den Submit Button ...

Antworten:

6 für die Antwort № 1

Das meta innere Klasse sollte groß geschrieben werden - Meta

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