2017-12-31 70 views
0

画像に保存することはできませんdb.Iに保存することはできませんがforms.py画像はデシベル

class UserImageForm(forms.ModelForm): 
    image = forms.ImageField() 
    class Meta: 
     model = ImageAndUser 
     fields = ('image',) 
にmodels.py

class ImageAndUser(models.Model): 
    user = models.ForeignKey("auth.User", verbose_name="imageforegin",on_delete=models.CASCADE) 
    image1 = models.ImageField(upload_to='images', null=True, blank=True,) 
    image2 = models.ImageField(upload_to='images/', null=True, blank=True,) 
    image3 = models.ImageField(upload_to='images/', null=True, blank=True,) 

にviews.py

@csrf_exempt 
def upload_save(request): 
    form = UserImageForm(request.POST, request.FILES) 
    if request.method == "POST" and form.is_valid(): 
      data = form.save(commit=False) 
      data.user = request.user 
      data.save() 
      return render(request, 'registration/photo.html') 

    else: 
     form = UserImageForm() 
     return render(request, 'registration/profile.html', {'form': form}) 

に書きましたprofile.htmlの

<form action="/accounts/upload_save/" method="POST" enctype="multipart/form-data" role="form"> 
      {% csrf_token %} 

       <label class="input-group-btn"> 
        <span class="file_select btn-lg"> 
        File Select1 
        <input id="file1" type="file" name="image" accept="image/*" style="display: none"> 
        </span> 
       </label> 
          <input type="text" class="form-control" readonly=""> 

       <label class="input-group-btn"> 
        <span class="btn-lg file_select"> 
        File Select2 
        <input id="file2" type="file" name="image2" accept="image/*" style="display: none"> 
        </span> 
       </label> 
          <input type="text" class="form-control" readonly=""> 
         
       <label class="input-group-btn"> 
        <span class="btn-lg file_select"> 
        File Select3 
        <input id="file3" type="file" name="image3" accept="image/*" style="display: none"> 
        </span> 
       </label> 
          <input type="text" class="form-control" readonly=""> 

       <input type="hidden" value="{{ p_id }}" name="p_id" class="form-control"> 

       <input id="send" type="submit" value="SEND" class="form-control"> 
      </form> 

私は3つの画像をhtmlとSENDボタンからアップロードしましたが、画像は保存されませんでした。しかし、SENDボタンを送った後、photo.htmlが表示され、プログラムは成功しました。なぜ3つの画像を保存できないのか分かりません。 .save()。これを修正するにはどうすればよいですか?自分のコードで何が間違っていますか?

形で

答えて

0

あなたが更新されますどのようなすべてのフィールドを指定する必要があります。answer.Iウル

class UserImageForm(forms.ModelForm): 
    class Meta: 
     model = ImageAndUser 
     fields = ('image1', ''image2', 'image3') 
+0

THXは、ウルのコードを書いたが、私はボタンを送る入れると、画像がviews.pyプログラムでuploaded.alwaysすることはできませんこれを修正するにはどうすればよいですか?{\ f2} {\ f2} {\ f2} {\ f2} – user7676799

+0

@ user7676799何が起こっていないかを調べるために、htmlにフォームエラーを追加してください: '{{form.non_field_errors}}' '{{form.image1.errors}}' '{{form.image2.errors}}' '{{form .image3.errors}} ' – neverwalkaloner

+0

@ user7676799あなたは' name = "image"をhtmlで持っていますが、モデルには 'image1'フィールドがあります。名前をimage1に変更しようとする 'name =" image "' – neverwalkaloner