以下是我在django 1.4项目中配置MEDIA_ROOT
和STATIC_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,}))
如何修复配置,以便显示用户上传的媒体文件?谢谢你的任何想法!
答案 0 :(得分:0)
一种简单的方法就是改变
MEDIA_ROOT = os.path.join(SITE_ROOT, 'media')
到
MEDIA_ROOT = os.path.join(SITE_ROOT, '..', 'media')
因为SITE_ROOT
设置为settings.py
文件所在的目录,这似乎是myproject/myproject
。