Ich bin mir sicher, dass ich etwas wirklich offensichtlich dummes mache, aber ich versuche es jetzt für ein paar Stunden herauszufinden und nichts springt mir entgegen.Django ImageField funktioniert nicht richtig über ModelForm
Ich verwende ein ModelForm, damit ich ein paar Felder aus einem Modell zur Bearbeitung freigeben kann. 2x ImageField, 1x TextField. Das Formular wird verarbeitet und das TextField funktioniert. Die beiden ImageFields funktionieren nicht und deshalb bin ich heute hier.
Ich verwende Django 1.0.2
Hier ist der relevante Code (fragen Sie, wenn Sie mehr brauchen - und ich bin auch nicht die HTML, weil dieser Teil gut zu funktionieren scheint):
Modell :
class Company(models.Model):
#...
logo = models.ImageField(upload_to='logos', blank=True)
intro_pic = models.ImageField(upload_to='intropics', blank=True)
intro_text = models.TextField(blank=True)
Ansicht und Form:
def admin_edit(request, company_slug):
company = get_object_or_404(Company, slug = company_slug)
f = AdminEditForm(instance = company)
if request.method == 'POST':
f = AdminEditForm(request.POST, instance = company)
if f.is_valid():
print "Processing form"
print f.cleaned_data['intro_pic']
f.save()
return render_to_response('uadmin/edit.html', {'company':company, 'f':f}, RequestContext(request))
class AdminEditForm(ModelForm):
class Meta:
model = Company
fields = ['logo', 'intro_pic', 'intro_text']
Vielen Dank! In meinem Fall habe ich den 'enctype =" multipart/form-data "' Teil –
Kerl Idiot hier – Chase
Es ist eine überraschend einfache Sache zu verpassen. Ich habe seitdem gefunden Crispy mit meinen Form-Tags (sowie andere Dinge) helfen hilft. – Oli