use*_*805 4 python django django-forms
我有一个InMemoryUploadedFile对象,当我.read()在它上面时,它会松开它的内容.是否有可能从同一个对象中读取此内容两次?我试过.copy()它,但当然不应该工作.
如果不可能,我能以某种方式将内容放回同一个对象吗?
原因是:对于django形式,prevalidation()方法想要读取内容,但如果确实如此,以后我就不能保存它.这里的表现不算数.
小智 8
只是添加@Daniel Roseman 的答案。
或者你可以直接调用my_file_obj.open()。它做同样的事情。
这是 Django 文档中的代码
class InMemoryUploadedFile(UploadedFile):
def open(self, mode=None):
self.file.seek(0)
return self
Run Code Online (Sandbox Code Playgroud)
参考https://docs.djangoproject.com/en/3.0/_modules/django/core/files/uploadedfile/
您应该能够调用seek(0)底层文件对象:
my_file_obj.file.seek(0)
Run Code Online (Sandbox Code Playgroud)