Ich habe eine Ansicht erstellt, um ein Benutzerprofil zu aktualisieren. Beim Hochladen eines Bildes wird das Bild korrekt gespeichert, aber wenn das Profil erneut aktualisiert wird, wird das Bild nicht mehr gespeichert. Wie kann ich das Problem lösen? Ich freue mich für jede Hilfe!(Django) Durch die Aktualisierung des UserProfile wird das Bild nicht korrekt gespeichert.
meiner Klasse Userprofile sieht wie folgt aus:
class UserProfile(models.Model):
user = models.OneToOneField(User)
bio = models.TextField(max_length=500, blank = True, default=('keine Angabe'), null=True)
image = models.FileField(null=True, blank=True)
facebook = models.CharField(max_length=200, null=True,default=('keine Angabe'))
def get_absolute_url(self):
return reverse('gaestebuch:result', args=[str(self.id)])
def __unicode__(self):
return self.user.username
@property
def get_content_type(self):
instance = self
content_type = ContentType.objects.get_for_models(instance.__class__)
return content_type
Ich benutze zwei Ansichten:
def update_profile(request):
userProfile = UserProfile.objects.get(user=request.user)
form = UserProfileForm(initial={'bio': userProfile.bio, 'image' : userProfile.image, 'facebook': userProfile.facebook})
return render_to_response('gaestebuch/update_profile.html', {'form':form}, RequestContext(request))
@login_required
def send_update_profile(request):
if request.method == 'POST':
#form = UserProfileForm(request.POST)
form = UserProfileForm(request.POST or None, request.FILES or None)
if form.is_valid():
userProfile = UserProfile.objects.get(user=request.user)
bio = form.cleaned_data['bio']
userProfile.bio = bio
image = form.cleaned_data['image']
userProfile.image = image
facebook = form.cleaned_data['facebook']
userProfile.facebook = facebook
userProfile.save()
return redirect('the url' + str(userProfile.id))
else:
form = UserProfileForm()
return redirect('/user/send_update_profile')
Das ist meine Form ist:
class UserProfileForm(forms.ModelForm):
class Meta:
model = UserProfile
fields = ('bio','image','facebook',)
Wenn es etwas anderes notwendig aufgeben Ich füge das gerne hinzu.
Ich bin froh für jede Hilfe!
Wie sieht Ihre Form aus? – e4c5
Sorry, ich habe es gerade hinzugefügt – Dannad