栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Django:如何进行可疑文件操作/复制文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django:如何进行可疑文件操作/复制文件

分析堆栈跟踪的这一部分:

File "C:Python27libsite-packagesdjangocorefilesstorage.py", line 261, in path    raise SuspiciousFileOperation("Attempted access to '%s' denied." % name)

导致标准的Django

FileSystemStorage
。它期望文件位于你的MEDIA_ROOT。你的文件可以在文件系统中的任何位置,因此会发生此问题。

你应该传递类似文件的对象,而不是

File
模型的路径。最简单的方法是使用Django
File
类,该类是类似python文件的对象的包装。有关更多详细信息。

更新:

好的,我建议从文档中选择一条路线:

from django.core.files import File as FileWrapperdef _handle_directory(self, directory_path, directory):    for root, subFolders, files in os.walk(directory_path):        for filename in files: self.cnt_files += 1 new_file = File(      directory=directory, filename=filename,      file=os.path.join(root, filename),      uploader=self.uploader) with open(os.path.join(root, filename), 'r') as f:     file_wrapper = FileWrapper(f)     new_file = File(         directory=directory, filename=filename,         file=file_wrapper,         uploader=self.uploader)     new_file.save()

如果可行,则应将文件复制到

secure_storage
可调用对象提供的位置。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407792.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号