【问题标题】:I can't load the css files我无法加载 css 文件
【发布时间】:2010-04-22 11:37:04
【问题描述】:

我想将一些 .css 文件加载到我的 Django 项目中,但我不知道为什么没有加载它们。 css 文件位于“/myproject/media/css”。

settings.py:

import os.path
PROJECT_DIR = os.path.dirname(__file__)    
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')

urls.py:

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

)

base.html:

<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_ROOT }}css/myStyle.css" />

【问题讨论】:

  • 那么什么 HTML 从程序中得到输出?它是否为您提供了您期望的最终 URI?如果访问输出的 URI 会发生什么?
  • 这是否使用了您试图使其工作的开发服务器?
  • HTML 输出页面而不应用 css 样式,就像它不存在一样。我正在使用开发服务器。
  • 不要告诉我们浏览器对 HTML 做了什么。告诉我们 HTML 的样子!
  • 。服务器输出:"GET /alumnos/css/style.css HTTP/1.1" 404 2360 这可能是问题所在,因为“alumnos”是一个外部应用程序,除了项目。

标签: css django


【解决方案1】:

只是在黑暗中拍摄,但如果您将媒体根设置为 /myproject/media,然后您引用 {{ MEDIA_ROOT}}css/mystyle,您不会在其中缺少斜线吗?所以你要求 /myproject/mediacss/myStyle

我觉得你正在解决这个问题。痛。

【讨论】:

    【解决方案2】:

    MEDIA_ROOT 是资产的 file 路径,而不是 URL。 URL 是在 urls.py 中设置的,并且您将其设置为 /media/,这就是您需要在 HTML 标记中使用的内容。

    【讨论】:

      【解决方案3】:

      具体来说,您应该在模板中使用 MEDIA_URL 而不是 MEDIA_ROOT。

      【讨论】:

        猜你喜欢
        • 2014-12-26
        • 1970-01-01
        • 2016-02-09
        • 2016-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-15
        相关资源
        最近更新 更多