2016-06-22 6 views
2

:ここ有効な画像をアップロードします。アップロードしたファイルのいずれかではなかった、私は次のようなエラーになっていた画像または壊れた画像

{"image": ["Upload a valid image. The file you uploaded was either not an image or a corrupted image."]} 

は私のコードです:

model.py

class products(models.Model): 
    product_name=models.CharField(max_length=100, blank=True) 
    price = models.IntegerField(null=True) 
    image = models.ImageField() 
    created = models.DateTimeField(default=timezone.now) 
    product_updated_date = models.DateTimeField(auto_now=True) 

    def __str__(self): 
     return self.product_name 

serializers.py

class ProductSerializer(serializers.ModelSerializer): 
    image = serializers.ImageField(max_length=None, use_url=True) 
    class Meta: 
     model = products 
     fields = ('product_name', 'price', 'image', 'created', 'product_updated_date') 

views.py

def addproduct(request): 
    if request.method == 'POST': 
     form = Addproductform(request.POST, request.FILES) 
     if form.is_valid(): 
      name = request.POST.get("product_name") 
      price=request.POST.get("price") 
      image=form.cleaned_data['image'] 
      item = products(image=image, product_name=name, price=price) 
      item.save()       
      serializer = ProductSerializer(data=form.cleaned_data) 
      if serializer.is_valid(): 
       serializer.save() 
      return redirect('/task1') 
     return JsonResponse({'error': serializer.errors}) 
    else: 
     form = Addproductform() 
    return render_to_response("add-product.html", {'form':form}, 
    context_instance=RequestContext(request)) 

forms.py

class Addproductform(forms.Form): 
    error_css_class = "error" 
    product_name=forms.CharField(max_length=250, required=True, widget=forms.TextInput(attrs={'class': "form-control input-lg", "placeholder":'Product name'})) 
    price = forms.CharField(max_length=250,widget=forms.TextInput(attrs={'class': "form-control input-lg","placeholder":'Price'})) 
    image = forms.ImageField() 

page1.html

<form action="#" enctype="multipart/form-data" method="post"> 
    {% csrf_token %} 
    <div><label>Product Name</label></div><br> 
    <div>{{form.product_name}}</div> 
    <div style="color:red">{{form.product_name.errors}}</div><br> 
    <div><label>Price</label></div><br> 
    <div>{{form.price}}</div><br> 
    <div style="color:red">{{form.price.errors}}</div> 
    <div><label>Image</label></div><br> 
    <div>{{form.image}}</div> 
    <div style="color:red">{{form.image.errors}}</div> 
    <div class="product-option-shop" style="float:right"> 
     <input type="submit" value="Submit" class="add_to_cart_button"> 
    </div> 
</form> 

私は私が持っている、残りのフレームワークをジャンゴに新しいですなぜ私は得るアイデアこのエラー。 誰でも助けてくれます、ありがとうございます。

+0

...正常に動作し、その誤差は、純粋なDjangoのあるフォームから来ています。 –

+0

私の間違いを詳しく教えてください。 – neelima

答えて

0

私はその問題を修正しました。私はデータを2回保存していますので、私は{"image":["有効な画像をアップロードしています。アップロードしたファイルは画像でも破損した画像でもありませんでした。"]} issue.I " item.save() "これは、DRFとは何の何も持っていません

おかげ

関連する問題