Tôi chắc chắn tôi đang làm điều gì đó thực sự rõ ràng là ngu ngốc, nhưng tôi đã cố gắng tìm ra nó trong vài giờ và không có gì nhảy ra ngoài với tôi.Django Imagefield không hoạt động bình thường thông qua ModelForm
Tôi đang sử dụng ModelForm để tôi có thể trưng ra một vài trường từ mô hình để chỉnh sửa. 2x ImageField, 1x TextField. Biểu mẫu được xử lý và TextField hoạt động. Hai ImageField không hoạt động và chúng là lý do tại sao tôi ở đây hôm nay.
Tôi đang sử dụng Django 1.0.2
Dưới đây là các mã có liên quan (yêu cầu nếu bạn cần thêm - và tôi không bao gồm HTML vì phần đó dường như làm việc tốt):
mẫu :
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)
Xem và hình thức:
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']
Cảm ơn! Trong trường hợp của tôi, tôi đã bỏ lỡ phần 'enctype =" multipart/form-data "' part –
idiot ở đây – Chase
Đó là một điều dễ dàng đáng ngạc nhiên để bỏ lỡ. Tôi đã từ khi tìm thấy cho phép Crispy xử lý các thẻ biểu mẫu của tôi (cũng như những thứ khác) giúp. – Oli