我有一个应用程序,允许用户上传带有数据的 CSV 文件,然后将这些数据绘制成图形并显示给用户。这些文件作为媒体保存在我的媒体文件夹中。但是,在我的图表视图中,我需要打开文件并处理它。我的问题是我只能打开项目当前工作目录中的文件,并且每当我尝试从该目录之外的某个位置上传文件时,我都会收到此错误:
File b'TEST.CSV' does not exist
我已经尝试过了,但没有成功:
file_upload_dir = os.path.join(settings.MEDIA_ROOT, 'Data_Files')
data_file = open(os.path.join(file_upload_dir, new_file), 'rb')
该变量new_file
只是会话中保存的文件的名称,而不是该文件的路径。Data_Files
是媒体目录中包含上传文件的目录。
我的 Django 媒体设置是
SETTINGS_DIR = os.path.dirname(__file__)
PROJECT_PATH = os.path.join(SETTINGS_DIR, os.pardir)
PROJECT_PATH = os.path.abspath(PROJECT_PATH)
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')
有没有办法从视图中正确引用媒体文件?
这是新文件的输出file_upload_dir
和位置。
>>> print(file_upload_dir)
C:\\Users\\vut46744\\Desktop\\graphite_project\\media\\Data_Files
>>> print(os.path.join(file_upload_dir, new_file))
C:\\Users\\vut46744\\Desktop\\graphite_project\\media\\Data_Files\\TEST.CSV