0
我試圖在更新文件內容時在我的UpdateView
中保留相同的FileField
的文件名。如何更新ContentFile的內容(通過覆蓋文件)
這是一個css文件,CreateView
通過使用表單數據作爲上下文呈現模板來生成。下面是邏輯的摘錄:
instance = form.save(commit=False)
t = TemplateResponse(self.request, 'base.css', {"cssform": form})
t.render()
css_string = t.content
file_content = ContentFile(css_string)
instance.css_file.save(file_name, file_content)
我並沒有以相同的成功UpdateView
:
def form_valid(self, form):
instance = self.object
filename = instance.css_file
t = TemplateResponse(self.request, 'base.css', {"cssform": form})
t.render()
css_string = t.content
filedata = ContentFile(css_string)
instance.css_file.save(filename, filedata)
super(CSSUpdate, self).save(form)
的錯誤是:
join()方法的參數必須str的或字節,而不是'FieldFile'
該行發生錯誤:
instance.css_file.save(filename, filedata)
回溯短:
回溯:
文件 「/usr/lib/python3.5/posixpath.py」 中加入 82.如果b.startswith(SEP ):
如何用我的新內容覆蓋舊文件? 我使用django 1.10,python 3.5