Django FilesystemStorage.save()问题

时间:2018-10-10 10:13:15

标签: django centos7 file-system-storage

上下文:在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

编辑1

我认为我解决了一部分问题(SELinux遇到的问题)

使用此命令行:

sudo chcon -t httpd_sys_content_t /MYHOME/Site_Django -R

编辑2

该文件不存在于我的tmp文件夹中:/ 甚至是python代码:

print(file.file.name)

返回

/tmp/tmp1t_ahpg4.upload.csv

我无法读取该文件:

with open(file,"r") as f:

    print(f.read())

预先感谢您的帮助。

0 个答案:

没有答案