【问题标题】:Serving static files in Django development在 Django 开发中提供静态文件
【发布时间】:2012-06-04 02:21:12
【问题描述】:

我在使用 Django 1.4 开发静态文件时遇到问题

STATIC_ROOT = 'C:/projects/foobar/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = ()

在我的模板中,我将其称为 static,如下所示:

<link rel='stylesheet' href='/static/foobar.css'>

请注意,我没有使用任何上下文处理器,因为我正在硬编码 static

基于the docs 我看不出我做错了什么

【问题讨论】:

  • ArgsKwards 没有帮助,因为我已经指出了文档并且我没有使用 collect static 因为 Django 文档说我不需要在 dev 中,我可以运行 devserver 并且静态文件将是从我指定的 STATIC_ROOT 和 STATIC_URL 提供服务
  • 您是否在主 urls.py 中添加了相关行?
  • 您仍然需要遵循他们将静态文件 url 添加到 url conf 的答案部分。如果您不使用上下文处理器,Django 不会神奇地提供这些文件。
  • 比第 1 行读得更远...

标签: django


【解决方案1】:

好的,我找到了解决方案:

STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = ('C:/projects/foobar/static',)

这样我只是在模板中引用/static/。奇怪的是 STATIC_ROOT 必须是 emtpy 而 STATICFILES_DIRS 才是最重要的,但它违反直觉。

这不需要静态文件夹在应用程序中,它可以只在项目的根目录中,不需要更改 urls.py 也不需要使用 collectstatic 命令

【讨论】:

    猜你喜欢
    • 2014-03-13
    • 2012-01-26
    • 2013-12-22
    • 2012-03-25
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    相关资源
    最近更新 更多