上传时媒体文件最终位于 pycharm 子目录中

Media files end up in in a pycharm subdirectory when uploading

我正在 Windows 系统上构建 Django 应用程序,用户应该可以在其中上传图像。 但不知何故,我上传的文件最终出现在我的 Program Files 目录中:

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'),
)

不知道这是否重要,但我正在使用带有 Imagefield 的模型中的 ModelForm。

您的 BASE_DIR 应如下所示:

os.path.dirname(os.path.dirname(__file__))