3

私がやろうとしているのは、ユーザーのテキストを画像付き/画像なしで送信し、ページを再度リロードせずにページに応答することです。

ジャンゴフォーム:

class PostForm(forms.ModelForm):
text = forms.CharField(max_length=128)
picture = forms.ImageField(required=False)
class Meta:
    model = Post
    fields = ['text', 'picture',]

HTML:

<form id="post_form" enctype="multipart/form-data">

   <div class="fieldWrapper">  
      {% csrf_token %}   
      {{ postForm.as_p }}
   </div>
   <INPUT id="postBtn" type="submit" name="submit" value="submit"/>
</form>

JQuery:

$("#postBtn").click(function() {
    $.ajax({
           type: "POST",
           url: "/restaurant/feed/",
           data: $("#post_form").serialize(),
           success: function(data)
           {
                // do something
           }
    })
}

ビュー:

def feed(request):
 print request.FILES

print から得た結果は空のリストです。なにか提案を?ちなみに、ajaxメソッドなしで画像をアップロードできます。

4

1 に答える 1

3

jQuery 経由でファイルを送信することはできません。その場合は、 http://blueimp.github.io/jQuery-File-Upload/https://github.com/Widen/fine-uploader$.ajax()などの他のソリューションを使用する必要があります。

于 2013-07-19T14:36:54.550 に答える