Django에서 내 모델에 FileField를 사용하려고하고 파일 시스템에 기존 파일을 사용하여 설정하려고합니다. 나는 이것을 시도해 보았고 미디어 디렉토리에 10 KB 밖에 갖지 못했습니다.Django 파일 chunk()가 전체 이진 파일을 반환하지 않습니다.
c = MyClass()
f = open('D:\\bin.jpg')
df = File(file)
c.file.save('newFile', df)
f.close()
c.save()
FileField.save는 File.chunks를 호출하며 모든 것을 얻지 못하는 바이너리 파일입니다. 내가 여기서 뭔가를 놓치고 있니?
f_text = File(open('D:\\text.txt'))
print f_text.size/1024./1024
>> 13.7466430664
print sum([len(c) for c in f_text.chunks()])/1024./1024
>> 13.7466430664
f_bin = File(open('D:\\bin.jpg'))
print f_bin.size/1024./1024
>> 0.741801261902
print sum([len(c) for c in f_bin.chunks()])/1024./1024
>> 0.00253677368164
f = MyClass.objects.get(id=50).file
# is file as f_bin uploaded using Django admin tool
print f.size/1024./1024
>> 0.741801261902
print sum([len(c) for c in f.chunks()])/1024./1024
>> 0.741801261902
체제 : Windows 7
장고 : 1.5.1
파이썬 : 2.7.5 당신은 바이너리 모드로 파일을 열 필요가
이것은 장고 (Django) 질문이 아니며, 파이썬 질문입니다. 그에 따라 태그를 변경해야합니다. –