Django媒体上传设置和文件结构

时间:2013-11-01 03:17:19

标签: python django upload settings media

以下是我在django 1.4项目中配置MEDIA_ROOTSTATIC_ROOT设置的方法:

SITE_ROOT = os.path.dirname(os.path.realpath(__file__)) ## from http://www.morethanseven.net/2009/02/11/django-settings-tip-setting-relative-paths/

MEDIA_ROOT = os.path.join(SITE_ROOT, 'media') ## from http://www.morethanseven.net/2009/02/11/django-settings-tip-setting-relative-paths/
STATIC_ROOT = os.path.join(SITE_ROOT, 'static')

我的目录结构如下:

--myproject
----myapp
----media  ## where I expect the images
----myproject   ##(settings.py, urls.py, etc.)

但是图像被保存到myproject文件夹中的另一个目录:

--myproject
----myapp
----media
----myproject
------media  ## this is where the files end up

因此,不包含文件。以下是网址:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()  ## from http://stackoverflow.com/questions/10216827/django-static-files-wont-load

if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': settings.MEDIA_ROOT,}))

如何修复配置,以便显示用户上传的媒体文件?谢谢你的任何想法!

1 个答案:

答案 0 :(得分:0)

一种简单的方法就是改变

MEDIA_ROOT = os.path.join(SITE_ROOT, 'media')

MEDIA_ROOT = os.path.join(SITE_ROOT, '..', 'media')

因为SITE_ROOT设置为settings.py文件所在的目录,这似乎是myproject/myproject