jquery ajax 提交form表單 以及django后台接受


HTML

          <form id="project_file_upload" enctype="multipart/form-data" >
              <div class="modal-body">
                   <!-- multiple 增加此屬性,文件可以多選 -->
                   <input type="file"  name="file" id="file">
                   <input id = 'num_id' name="id" type="hidden" value="">
              </div>
              <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">{% trans "Close" %}</button>
                <button class="btn btn-success" type="submit" id="submit_upload_b"><i class="icon-share"></i> 上傳</button>
              </div>
         {% csrf_token %}
         </form>

 

 

 

js 代碼

   //文件上傳函數
   function dispalyfiletable(url) {
        var csrftoken = getCookie('csrftoken');
        $.ajax({
            cache: false,
            type: 'POST',
            data: new FormData($('#project_file_upload')[0]),
            url: url,
            traditional:true, //為必須內容   
            //dataType:'json',  //data為json時必須
            processData: false, //為必須內容
            contentType: false, //為必須內容
            success: function(data) {

               console.log(data);



            },
            beforeSend: function(xhr, settings) {
                xhr.setRequestHeader("X-CSRFToken", csrftoken);
            }
        });
   }

 

 

 

django后台代碼

form.py  ModelForm 寫法

from django import forms
from django.forms import ModelForm
from .models import Advertisement


class UploadFileForm(ModelForm):

    class Meta:
        model = Advertisement
        localized_fields = ('__all__')

        exclude = ['add_time']
        error_messages = {
            'protype': {
                'required': '這是個必填項目',  # 生成錯誤信息
            },
        }

 

 

 

        id = request.POST.get('id','')
        print(id)
        form = UploadFileForm(request.POST, request.FILES)
        file_obj = request.FILES.get('file','') #獲取上傳文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM