代码之家  ›  专栏  ›  技术社区  ›  tipu

Django文件服务问题

  •  0
  • tipu  · 技术社区  · 15 年前

    我有我的网址模式,

    urlpatterns += patterns('',
         (r'^(?P<path>.*)$', 'django.views.static.serve',
         {'document_root': '/home/tipu/Dropbox/dev/workspace/search/images'})
    

    在我的模板中

    <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}style.css" />
    

    它为CSS提供了很好的服务。但是当我这样做时,与style.css在同一目录下的logo.png文件不会显示:

    <img src = "{{ MEDIA_URL }}logo.png" id = "logo" />
    

    你知道为什么吗?

    编辑:

    它们在同一个目录中: http://i.imgur.com/Wlssb.png

    root@tipu_ubuntu:/home/tipu/Dropbox/dev/workspace/search# curl -I http://localhost:8080/logo.png
    HTTP/1.1 404 Not Found
    Date: Sun, 30 May 2010 19:56:54 GMT
    Server: Apache/2.2.14 (Ubuntu)
    Vary: Accept-Encoding
    Connection: close
    Content-Type: text/html; charset=iso-8859-1
    
    root@tipu_ubuntu:/home/tipu/Dropbox/dev/workspace/search# curl -I http://localhost:8080/style.css
    HTTP/1.1 200 OK
    Date: Sun, 30 May 2010 19:57:06 GMT
    Server: Apache/2.2.14 (Ubuntu)
    Last-Modified: Thu, 27 May 2010 03:28:14 GMT
    Content-Length: 1447
    Content-Type: text/css
    Vary: Accept-Encoding
    Connection: close
    
    3 回复  |  直到 15 年前
        1
  •  0
  •   David Wolever    15 年前

    很奇怪。运行时返回什么错误代码 curl -I http://localhost:8000/logo.png ?

    就在我的头顶上,可能的问题是:

    • 打字错误(在文件名或模板中)
    • 权限
    • 坏数据(它真的是PNG吗?它是不是被清空了?

    此外, urlpatterns 你好像把媒体放在 / . 我想这就是你想要的?

        2
  •  0
  •   tipu    15 年前

    我没有解决手头的问题,但是,我最终能够通过Apache本身提供文件。我使用了这里找到的解决方案: http://oebfare.com/blog/2007/dec/31/django-and-static-files/

        3
  •  0
  •   Anthony Briggs    15 年前

    我觉得django的网址不错。

    两个curl请求正在访问apache(服务器:apache/2.2.14(ubuntu)),而不是django,因此您的urlpatterns可能与您看到的错误没有任何关系。您确定Apache正在查看该目录而不是其他目录吗?尝试将图像换成另一个图像,看看它是否发生了变化——如果没有,你就会知道你的目录路径有问题。

    推荐文章