Estoy seguro de que estoy haciendo algo realmente obviamente estúpido, pero he estado tratando de resolverlo durante unas horas y nada está saltando a mí.Django Imagefield no funciona correctamente a través de ModelForm
Estoy usando un ModelForm, por lo que puedo exponer algunos campos de un modelo para su edición. 2x ImageField, 1x TextField. El Formulario se procesa y TextField funciona. Los dos ImageFields no funcionan y es por eso que estoy aquí hoy.
estoy usando Django 1.0.2
Aquí está el código correspondiente (preguntar si necesita más - y no estoy incluyendo el HTML porque esa parte parece funcionar muy bien):
Modelo :
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)
Ver y forma:
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']
Thanks! En mi caso me faltaba el 'enctype =" multipart/form-data "' parte –
compañero idiota aquí – Chase
Es algo sorprendentemente fácil de perder. Desde entonces, he encontrado que dejar que Crispy maneje mis etiquetas de formulario (y otras cosas) me ayuda. – Oli