Django загрузить текстовый файл не работает - PullRequest
1 голос
/ 24 июня 2010

Я пытаюсь загрузить текстовые файлы в указанное место, но файл загружается пустым в корне (не в указанном месте).

в моделях:

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. Как я должен изменить его, чтобы он работал нормально? Спасибо!

Ответы [ 2 ]

6 голосов
/ 24 июня 2010

Вы не забыли добавить enctype="multipart/form-data" в тег HTML <form>?

2 голосов
/ 24 июня 2010

для чего нужен вызов функции handle_uploaded_file ??

по умолчанию form.save сохранит файл в каталоге upload_to

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...