Загрузка изображений из вида Django - PullRequest
0 голосов
/ 15 июня 2011

Модели:

from django.db import models
class Image(models.Model):
    advertisement = models.ForeignKey('Advertisement')
    image = ImageWithThumbsField(upload_to=store_path, blank=True)

class Advertisement(models.Model):
    #some code here

class AdvertOne(Advertisement):
    #some code again

class AdvertTwo(Advertisement):
    #and again

Формы:

from models import Advertisement
from django.forms import *

class AdvertisementForm(ModelForm):
    message = CharField(max_length=400, widget=Textarea)
    image = ImageField(required=False)

В: Как сформировать представление для загрузки?

1 Ответ

0 голосов
/ 15 июня 2011

Нечто подобное должно работать.Убедитесь, что в теге формы указано enctype="multipart/form-data", чтобы файлы загружались.

def upload_advertisement(request):
    if request.method == "POST":
        form =  AdvertisementForm(request.POST,request.FILES, prefix='advertisement')
        if form.is_valid():
            form.save()
            return HttpResponseRedirect("/")
    else:    
        form =  AdvertisementForm(prefix='advertisement')

    return render_to_response('advertisementform.html', {
        'form':form,
    }, context_instance=RequestContext(request))
...