javascript - 在Django框架中使用Ajax加载文件

标签 javascript jquery python ajax django

我的项目正在处理 Django,有一个功能需要加载文件并在文本区域中显示文件内容。引用下面的代码。 上传文件然后显示在“Text_To_Show”项中。我不想将文件存储在服务器端或数据库中。所以我的想法是:使用ajax将文件(内容)发布到view.py,然后HTTPResponse(数据)返回页面。

表单.py

class RequestForm(forms.Form):
       Text=forms.CharField(label='Text',widget=forms.Textarea(attrs{'cols':80, 'rows':8 }),max_length=2048,required=False)
       file = forms.FileField()
       Text_To_Show = forms.CharField(label='Text_To_Show',widget=forms.Textarea(attrs={readonly':True}),required=False)

views.py

        if request.is_ajax() and request.method == 'POST':
           form = RequestCertForm(request.POST,request.FILES)
           if form.has_changed():
              print request.FILES
              return HttpResponse('FileContent')

Javascript

    $(document).ready(function(){
       $("#id_file").change(function(){
          $.ajax({
            method : 'POST',
            enctype: 'multipart/form-data',
            success: function(result){
             $("#id_text_to_show").val(result);
          },
           fail: function(result){
              $("#id_text_to_show").val(result);
          }
      });
    });
  });

基于文档 https://docs.djangoproject.com/en/1.8/topics/http/file-uploads/ 需要方法“POST”和enctype:'multipart/form-data',但我的问题是为什么我无法从request.FILES获取文件内容(数据)。任何这方面的专家都可以。你能让我知道吗?

最佳答案

采用FileReader直接解析文件的思路。

关于javascript - 在Django框架中使用Ajax加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31581470/

相关文章:

php - 表更新时 jQuery 更新 div

python - 用Python用图片训练SVM

javascript - 使用JS绑定(bind)onchange事件(语法错误)

php - jquery优化ajax请求? PHP 和 JS

javascript - Jasmine 依赖注入(inject)

javascript - 如何根据每个 ID 的唯一 div ID 修改链接一次

python - 记录 url 重定向

python - django:多对多关系的额外字段是否存在黑魔法?

javascript - 如何从执行条件的数组中获取所有值?

javascript - 使用无限滚动动态加载对齐的图库图像