2012-07-11 101 views
4

要查看静态文件(图像和PDF),我定义STATIC_DIRS包含目录名的值,其中我上传这些文件:静态文件 - 找不到网页

STATICFILES_DIRS = (
    '/home/alessandro/Scrivania/progetto/media/photos/custodia/', 
    '/home/alessandro/Scrivania/progetto/media/definitiva/', 
    '/home/alessandro/Scrivania/progetto/media/proforma/', 
    '/home/alessandro/Scrivania/progetto/media/fpdf/'; 
) 

在STATIC_URL:

STATIC_URL = '/static/'

在已安装的应用程序:

INSTALLED_APPS = (
    .... 

    'django.contrib.staticfiles', 

) 

的权限是0777

现在,当我想看到图像或PDF文件时,我收到此错误消息。 找不到网页

我使用这个网址:
HTTP://127.0.1:8000 /家庭/亚历山德罗/ Scrivania/PROGETTO /媒体/照片/ custodia/powered_by.png

什么想法?为什么会出现这个问题?

+0

看看http://stackoverflow.com/questions/10460028/confusion-in-django-admin-static-and-media-files/10460116#10460116 – 2012-07-11 17:17:23

+0

'app-folder/static /' - good 。 '项目文件夹/静态/' - 坏。对于未来的观众,这是我的错误,导致404错误。 '/ static /'应该是[models.py的兄弟](http://stackoverflow.com/a/15435556/673991)。 – 2015-12-21 19:42:20

回答

5

默认情况下,静态文件和媒体文件不会与Django的内置开发服务器一起提供。如果您希望它直接提供这些文件,请在您的urlconf中添加staticfiles_urlpatternsMEDIA_URL模式。

from django.conf import settings 
from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
from django.conf.urls.static import static 

# ... the rest of your URLconf goes here ... 

urlpatterns += staticfiles_urlpatterns() 
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

如果DEBUGTrue这只会工作。请参阅corresponding docs

注意:你不应该在生产中这样做!在生产模式下始终为静态文件使用单独的Web服务器。

+0

谢谢,我有编辑urls.py,所以我必须插入:从django.conf导入设置 从django.contrib.staticfiles.urls导入staticfiles_urlpatterns 从django.conf.urls.static进口静态 #...的其余的URLconf去这里... urlpatterns + = staticfiles_urlpatterns() urlpatterns + = static(settings.STATIC_URL,document_root = settings.STATIC_ROOT),重新加载页面和“找不到页面”。 - >'alessandro/Scrivania/progetto/media/photos/custodia/shop-ad.jpg'无法找到错误在哪里? – 2012-07-12 16:28:03

+0

@AlexanderT你为什么用STATIC_URL和STATIC_ROOT替换MEDIA_URL和MEDIA_ROOT? – 2012-07-12 21:56:53

+0

因为图像和pdf文件是一个静态文件?或不? – 2012-07-12 22:12:19