Django媒体文件在磁盘上的位置

时间:2014-12-06 19:05:00

标签: django

我在

中有/media/引用的媒体文件夹settings.py
MEDIA_ROOT = "/project_name/media/"
MEDIA_URL = "/media/"

urls.py我有这个:

url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True})

当我转到127.0.0.1:8000/media/时,这是可访问的文件结构:

media/
    images/
        2014/
            12/
                5/
                    <many files here>
                6/
                    <many files here>

这些文件究竟在哪里?它们不再位于项目的media文件夹中。它们在几小时前被删除了。实际文件结构如下:

media/
    images/
        2014/
            12/
                6/
                    <files here>
    thumbs/
        2014/
            12/
                6/
                    <files here>

两种结构中的文件不相同。

1 个答案:

答案 0 :(得分:0)

好的,所以媒体文件夹位于C:/project_name/media,它是从那里取的,而不是项目的媒体文件夹。

我修改了url的代码,如下所示:

url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': os.getcwd().replace('\\', '/')+'/media/', 'show_indexes': True})

删除有关可能的相对位置的任何歧义。我不知道django首先检查C:\中的数据而不是项目的根文件夹。