上下文:在Centos环境中实施产品Django
网络项目。
我正在尝试解决文件存储操作上的某个功能不起作用,但我看不到为什么吗?...也许是权限问题...
我有一个工作正常的功能...
import os
def manager_file_tasks(file, archive_path):
print(file, archive_path)
# i got this : file.csv /MYHOME/Site_Django/media/archive_file/uploadedFiles
tmp_archive_path = os.path.join(BASE_DIR, 'visualisation', 'UploadFiles', 'file')
# Test if the folder archive exist
if not os.path.exists(tmp_archive_path):
os.makedirs(tmp_archive_path)
print(tmp_archive_path)
# i got this : /MYHOME/Site_Django/visualisation/UploadFiles/file
fs = FileSystemStorage(location=tmp_archive_path)
print(fs)
# i got this : <django.core.files.storage.FileSystemStorage object at 0x7f57f622bda0>
print(armdb_file.name, armdb_file)
# i got this : file.csv file.csv
print(fs.save(armdb_file.name, armdb_file))
# NO RESULT .... :(
filename = fs.save(armdb_file.name, armdb_file)
print(filename)
armdb_file = fs.path(filename)
print(armdb_file)
# some other stuffs are made after....
[me@web01]$ ll /MYHOME/Site_Django/visualisation/UploadFiles/
total 0
drw-r--r--. 2 apache apache 6 10 oct. 11:22 file
我认为我解决了一部分问题(SELinux遇到的问题)
使用此命令行:
sudo chcon -t httpd_sys_content_t /MYHOME/Site_Django -R
该文件不存在于我的tmp文件夹中:/ 甚至是python代码:
print(file.file.name)
返回
/tmp/tmp1t_ahpg4.upload.csv
我无法读取该文件:
with open(file,"r") as f:
print(f.read())
预先感谢您的帮助。