2015-12-04 2 views
2

Это то, что я пробовал:Джанго image.save() TypeError: get_valid_name() отсутствует позиционную аргумент: 'имя'

r = requests.get(img_url) 
temp = NamedTemporaryFile(delete=True) 
temp.write(r.content) 
temp.flush() 
image = Image() 
image.image.save('testimagefilename', File(temp), save=True) 
image.save() 

image.image.save() На линии, след ошибка:

Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "/usr/local/lib64/python3.4/site-packages/django/db/models/fields/files.py", line 90, in save 
    name = self.field.generate_filename(self.instance, name) 
    File "/usr/local/lib64/python3.4/site-packages/django/db/models/fields/files.py", line 332, in generate_filename 
    return os.path.join(self.get_directory_name(), self.get_filename(filename)) 
    File "/usr/local/lib64/python3.4/site-packages/django/db/models/fields/files.py", line 322, in get_filename 
    return os.path.normpath(self.storage.get_valid_name(os.path.basename(filename))) 
TypeError: get_valid_name() missing 1 required positional argument: 'name' 

Является ли проблема, потому что Django ожидает локальный путь к ОС? Я использую S3BotoStorage, то ImageField использует отдельное ведро от остальной части проекта:

image = models.ImageField(storage=S3CustomStorage) 

class S3CustomStorage(S3BotoStorage): 
    def __init__(self, *args, **kwargs): 
     kwargs['bucket'] = getattr(settings, 'AWS_BUCKET_CUSTOM') 
     super(S3CustomStorage, self).__init__(*args, **kwargs) 
+0

Что именно вы имеете в виду b y "это не работает"? Что оно делает? –

+0

Это не исключение, просто проходит через код, и изображения никогда не сохраняются. – dtgq

+0

Извините, что я соврал, я просто попробовал минимальную версию этого в оболочке, и он бросает: 'TypeError: get_valid_name() отсутствует 1 обязательный позиционный аргумент: 'name'', когда я запускаю материал в OP и' image.image.save ('testimagefile', File (temp), save = True) '. Я не нашел никакой документации по 'image.save()' – dtgq

ответ

Смежные вопросы