[英]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.