因此,我正在開發一個應用程序,允許用戶上傳CSV文件,然後生成與其文件相對應的圖形數據。只有當上傳的文件位於項目的當前工作目錄中時,我才能在開發中工作。在Django中打開一個不在項目目錄中的動態文件
我發現,這背後的原因是因爲在我鑑於我打開文件像這樣:
data_file = open(new_file, 'rb')
Open
期望找到項目目錄中的文件。如果我試圖上傳的文件目錄以外的它拋出這個錯誤:
Errno 2] No such file or directory: 'test.CSV'
我讀過有關os.path.expanduser
和曾嘗試:
data_file = open(os.path.expanduser('~' + new_file), 'rb')
但沒有成功。上面的代碼試圖找到C:/Users/test.csv
中的文件。
任何建議,我如何能實現這一點將不勝感激。
編輯
我現在的嘗試是現在:
file_upload_dir = os.path.join(settings.MEDIA_ROOT, 'Data_Files')
data_file = open(os.path.join(file_upload_dir, new_file), 'rb')
和錯誤是:
File b'test.CSV' does not exist
Data_Files是我的媒體文件夾中的文件夾。
你的'file_upload_dir'中是否有'test.CSV'文件? –
是的,因爲這是由用戶上傳的文件,被引用爲new_file。 –