Django文件上传和模型FileField

6
我离成功很近了……但我还没有完全理解上传视图与模型之间的联系。当我在模型的FileField中使用回调时,上传可以正常工作,但是我不确定实际的文件复制发生在哪里。目标是确保chunking正在进行,但是文件复制操作似乎被隐藏在某个地方?
以下是我的代码: 模型:
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/en/dev/topics/http/file-uploads/?from=olddocs#handling-uploaded-files 吗?它看起来是你在寻找的内容。我不确定你实际上在问什么,所以不想回答。 - Bartek
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接