2015-01-31 2 views
0

장고 1.7, 베개 2.7.Django. 파일 필드 이름

내 파일 필드의 다른 파일에 동일한 파일 이름을 사용해야합니다.

장고 모델 :

class FileStorage(models.Model): 
    image = models.ImageField(null=True, blank=True) 

코드 : 장고 내 파일 이름을 유지되지 않는 이유

item = FileStorage.objects.get(id=1) 

image_buffer = StringIO.StringIO() 
new_image = Image.new('RGB', (100, 100)) 
new_image.save(image_buffer, 'JPEG') 
image_file = InMemoryUploadedFile(image_buffer, 'image', 'test.jpg', 'image/jpeg', image_buffer.len, None) 

item.image.save('test.jpg', image_file) 

print item.image.name 
# hm4730iiecd8tw2.jpg 

image_buffer = StringIO.StringIO() 
new_image = Image.new('RGB', (100, 100)) 
new_image.save(image_buffer, 'JPEG') 
image_file = InMemoryUploadedFile(image_buffer, 'image', 'test.jpg', 'image/jpeg', image_buffer.len, None) 

item.image.save('test.jpg', image_file) 

print item.image.name 
# 2ji9eni7ywqqndf.jpg 

내가하지 조금 분명 해요. 어떤 아이디어?

답변

1

당신은 당신의 ImageField에 upload_to 옵션을 정의해야합니다

class FileStorage(models.Model): 
    image = models.ImageField(upload_to="media/", null=True, blank=True) 
+0

upload_to 속성은 파일 이름에 영향을주지 않습니다. 파일 이름에 'test.jpg'를 사용할 때 장고가 자동 생성 된 파일 이름을 사용하는 이유가 명확하지 않습니다. – Tom

관련 문제