SORU
25 Mart 2009, ÇARŞAMBA


Django Imagefield düzgün ModelForm) çalışmıyor

Bir şey çok belli ki aptal yapıyorum eminim, ama birkaç saat için anlamaya çalışıyorum ve hiçbir şey beni dışarı atlıyor.

Düzenleme için bir modelden birkaç alanları göstermek için ben de ModelForm kullanıyorum. 2x, 1x ve Olay ImageField. Şeklinde işlenir ve Sistemiyle çalışıyor. İki İmageFields çalışmıyor ve bugün burada olmamın nedeni onlar.

Django 1.0.2 kullanıyorum

İşte ilgili kod (daha fazla disipline ihtiyacın var. ve işin bu kısmını göründüğünden, HTML dahil değilim diye sormak iyi):

Model:

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)

Görünüm ve şekli:

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']

CEVAP
25 Mart 2009, ÇARŞAMBA


İyi bir aptal gibi hissediyorum. Django için yüklenen dosyaları işlemek mümkün olabilmesi için, isteğin geçmesi gerekir.DOSYALARI forma değişken (mantıklı, değil mi?!)

Benim durumumda aşağıdaki satırı gider:

f = AdminEditForm(request.POST, instance = company)

İçin:

f = AdminEditForm(request.POST, request.FILES, instance = company)

Kontrol etmek başka şey, eğer ileride böyle bir şey olursa () formunuzu çok parçalı olmasıdır. <form> etiketinizi böyle bir şey görünmelidir

<form enctype="multipart/form-data" method="post" action="">

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fullscreen

    Fullscreen

    23 Mart 2006
  • GoldgenieOfficial

    GoldgenieOff

    23 Temmuz 2009
  • GUN-TIME with Brandon

    GUN-TIME wit

    3 ŞUBAT 2009