Форум сайта python.su
Доброго всем времени суток. Я использую для создания и редактирования. И мне требуется загружать несколько файлов. Подскажите как реализовать этот момент, НЕ добавляя в model.py ещё 1 поле для файла?
models.py
# Джанго Форма Добавление/Редактирование товара class FormSite(forms.Form): name = forms.CharField(max_length=250, label=u'Наименование', required=False) artikul = forms.CharField(max_length=15, label=u'Артикул') good_type = forms.ModelChoiceField(queryset=GoodType.objects.all(), label=u'Тип', required=False) is_complect = forms.BooleanField(required=False, label=u'Комплект') parent = forms.ModelChoiceField(queryset=Good.objects.filter(is_complect=is_complect), label=u'Выбор комплекта', required=False) brand = forms.ModelChoiceField(queryset=Brand.objects.all(), label=u'Бренд', required=False) description = forms.CharField(max_length=700, label=u'Описание') default_picture = forms.ImageField(label=u'Фото товара', required=False) price = forms.IntegerField(label=u'Цена') agreement = forms.ModelChoiceField(queryset=Agreement.objects.all()) shape = forms.ModelChoiceField(queryset=ShapeGood.objects.all(), required=False) width = forms.IntegerField(label=u'Ширина') height = forms.IntegerField(label=u'Высота') depth = forms.IntegerField(label=u'Глубина') weight = forms.IntegerField(label=u'Вес изделия') appointment = forms.ModelChoiceField(queryset=Appointment.objects.all())
def newaddgood(request): params = request.POST newgood = models.Good() newgood.name = params['name'] newgood.agreement_id = params['agreement'] newgood.appointment_id = params['appointment'] newgood.artikul = params['artikul'] newgood.brand_id = params['brand'] newgood.depth = params['depth'] newgood.description = params['description'] newgood.good_type_id = params['good_type'] newgood.height = params['height'] newgood.price = params['price'] newgood.shape_id = params['shape'] newgood.weight = params['weight'] newgood.width = params['width'] if request.FILES.__len__() == 0: params['default_picture'] = 'nophoto.jpg' newgood.default_picture = params['default_picture'] else: d = handle_uploaded_file(request.FILES['default_picture'], params['artikul']) newgood.default_picture = d if 'is_complect' in params: newgood.is_complect = True newgood.parent_id = params['parent'] newgood.save() else: newgood.is_complect = False newgood.save() return HttpResponsePermanentRedirect('/')
Офлайн
Во-первых, где модель?
Во-вторых, “мне требуется загружать несколько файлов” и “НЕ добавляя в model.py ещё 1 поле для файла”. Зачем несколько файлов, если поле одно? Куда вы все остальные кроме одного девать то будете?
В-третьих, а вы точно знаете про ModelForm?
Офлайн