2015-06-09 46 views
1

我在用戶應該能夠上傳圖像的Windows系統上構建Django應用程序。 但不知何故,我uploades文件最終在我的Program Files目錄在:上傳時,媒體文件最終位於pycharm子目錄中

C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.5.1\jre\jre\bin\WebApp\media\TestData\static\images 

我只是不明白爲什麼我得到這樣的結果。我想用來存儲其他磁盤上這些圖像,例如:

G:\General\Users\Me\WebApp\media 

我一直在試圖改變我的MEDIA_ROOT但沒有成功。林甚至不知道如果這是問題所在,或者如果我不完全瞭解如何使用Django上傳工程。

這是我的設置:

import os 

BASE_DIR = os.path.abspath(os.path.dirname(os.path.dirname('__file__'))) 

# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.8/howto/static-files/ 
STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
STATIC_URL = '/static/' 
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/') 
MEDIA_URL = '/media/' 

STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static". 
    # Always use forward slashes, even on Windows. 
    os.path.join(BASE_DIR, 'staticfiles'), 
) 

不知道它的問題,但我使用的ModelForm從一個ImageField的模型。

+0

用戶上傳的文件去用'MEDIA_ROOT'指定的絕對路徑,這應該能夠在任何地方,你有寫權限點。文檔:https://docs.djangoproject.com/en/1.8/ref/settings/#media-root – Brandon

+0

我認爲你的'BASE_DIR'應該是'os.path.dirname(os.path.dirname(__ file __))' 。 – xyres

+0

謝謝@xyres!它看起來像它解決了它:) 愚蠢的小錯誤 – Eitre

回答

0

BASE_DIR應該是這樣的:

os.path.dirname(os.path.dirname(__file__)) 
相關問題