提供静态文件[初学者]

时间:2012-12-22 03:41:48

标签: django

我一直在尝试使用静态文件并让它们与开发服务器一起工作时遇到很多问题。

我一直在使用链接:https://docs.djangoproject.com/en/1.4/howto/static-files/#staticfiles-development

当我运行开发服务器时,我注意到我的CSS文件没有被拉入,但是它们被指定了正确的目录,暗示Django没有找到我的静态文件文件夹。我的文件夹在项目目录中定义为'static',并包含一个名为'css'的文件夹,其中包含'bootstrap.css'。

当我查看页面来源时,我看到:

<link href="css/bootstrap.css" rel="stylesheet">

但我无法查看CSS意味着找到正确的目录存在问题。

我在设置中添加了

STATICFILES_DIRS = (
    'static',
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

我的目录结构:mysite / static / css / bootstrap.css

感谢您的帮助:D

编辑:此外,如果我可以将不存在的目录放入settings.py中的STATICFILES_DIR而不会在调试模式下触发错误;这是否意味着我还没有配置Django来查找静态目录?

编辑:我还在我的views.py中添加了一个RequestContext,但它没有用完。

1 个答案:

答案 0 :(得分:1)

1:确保settings.DEBUG为True

2:为包含静态媒体的目录提供绝对路径。在这种情况下,/PATH/TO/mysite/static/

3:确保对静态文件的调用实际指向settings.STATIC_URL

您的示例指向相对网址css/bootstrap.css。它应该指向{{ STATIC_URL }}css/bootstrap.css,除非您运气好,并且您的页面路由到与您的STATIC_URL完全匹配的网址。

在满足条件1和条件2的情况下,静态媒体在settings.STATIC_URL FROM settings.STATICFILES_DIRS和其他静态文件查找器中提供。