【问题标题】:django upload text file not workingdjango上传文本文件不起作用
【发布时间】:2011-03-07 18:58:06
【问题描述】:

我正在尝试将文本文件上传到指定位置,但文件上传的是空文件,位于根目录(不在我指定的位置)。

在模型中:

course = models.FileField(help_text=('Upload a course (max %s kilobytes)' %settings.MAX_COURSE_UPLOAD_SIZE),upload_to='cfolder/',blank=True)

形式:

def handle_uploaded_file(f):
    destination = open('Cfolder')
    for chunk in f.chunks():
        destination.write(chunk)       
    destination.close()

在视图中:

def save_course(request, classname):
   classroom = Classroom.objects.get(classname = classname)
   if request.method == 'POST':
        form = CoursesForm(request.POST, request.FILES)
        if form.is_valid():
           handle_uploaded_file(request.FILES['course'])
           new_obj = form.save(commit=False)
           new_obj.creator = request.user
           new_obj.classroom = classroom
           new_obj.save()
           return HttpResponseRedirect('.')    
   else:
           form = CoursesForm()     
   return render_to_response('courses/new_course.html', {
           'form': form,
           }, 
          context_instance=RequestContext(request))  

我猜我的错误是在 handle_uploaded_file 方法中。 我应该如何修改它才能正常工作? 谢谢!

【问题讨论】:

  • 我的问题是:我有 MEDIA_ROOT,在 settings.py 中设置为指向一个目录,而 upload_to 指向另一个。如果您想测试简单的上传,我的建议是让 settings.py 中的 MEDIA_ROOT 为空!

标签: django file text upload


【解决方案1】:

调用handle_uploaded_file函数的目的是什么??

默认form.save会将文件保存在upload_to目录中

【讨论】:

    【解决方案2】:

    您是否记得将enctype="multipart/form-data" 放入您的HTML <form> 标记中?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 2015-06-15
      • 2023-04-07
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      相关资源
      最近更新 更多