2010-07-05 4 views
6

Я очень близок ... но я не совсем вижу соединение с представлением загрузки модели. Когда я использую обратный вызов в FileField модели, загрузка работает, но Я не уверен, где происходит фактическая копия файла. Цель состоит в том, чтобы убедиться, что происходит chunking, но действие копирования файла, похоже, где-то скрыто?Загрузка файлов Django и FileField модели

Вот что у меня есть:

Модель:

def get_media_upload_dir(instance, filename): 
    user_id = instance.user.id 
    upload_dir = "%s/%d/%s" % (settings.MEDIA_ROOT, user_id, filename) 
    print "Upload dir set to: %s" % upload_dir 
    return upload_dir 

class MediaFile(models.Model): 
    media_file  = models.FileField(upload_to=get_media_upload_dir) 
    download_count = models.PositiveIntegerField(default=0) 

Вид:

def file_upload(request, course_id):  
    if request.method == 'POST': 
     form = FileUploadForm(request.POST, request.FILES) 
     if form.is_valid(): 
      uploaded = form.cleaned_data['file_upload'] 
      mediaFile = MediaFile(media_file=uploaded, 
           owner=request.user.profile, 
           creator=request.user.profile) 
      mediaFile.save() 

      return HttpResponseRedirect('/course/%s/' % course_id) 
    else: 
     form = FileUploadForm() 
    return render_to_response('course/file_upload.html', {'form':form,'course':course}, context_instance=RequestContext(request)) 
+2

Вы читали http://docs.djangoproject.com/ru/dev/topics/http/file-uploads/?from=olddocs#handling-uploaded-files? Кажется, это то, что вы ищете. Не хочу отвечать, потому что не уверен, что вы на самом деле спрашиваете. – Bartek

ответ

Смежные вопросы