簡體   English   中英

Django文件上傳和模型FileField

[英]Django File Uploads and Model FileField

我太近了......但是我沒有看到從上傳視圖到模型的連接。 當我在模型的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))

存儲發生在這里: http//code.djangoproject.com/browser/django/trunk/django/db/models/fields/files.py#L90 Django使用它自己的API來訪問文件存儲: http//docs.djangoproject.com/en/dev/ref/files/storage/ 但如果您需要分塊,那么您可以選擇Bartek的建議!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM