Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
静态文件白噪声Heroku Django问题_Django_Heroku - Fatal编程技术网

静态文件白噪声Heroku Django问题

静态文件白噪声Heroku Django问题,django,heroku,Django,Heroku,我有一个用Django和Django Rest框架开发的API。我们需要一个页面在“正常”Django,这将是一个月打开一次,也许(所以不需要CDN的静态文件)。Gunicorn+whitenoise就是我们所做的 collectstatic在构建阶段和构建后阶段都可以正常工作 页面上生成的url是href=/static/css/edit_card.a1c6e0f9f12e.css/,但控制台显示该资源的404未找到,并且没有应用于页面的样式 相关django设置: # Static file

我有一个用Django和Django Rest框架开发的API。我们需要一个页面在“正常”Django,这将是一个月打开一次,也许(所以不需要CDN的静态文件)。Gunicorn+whitenoise就是我们所做的

collectstatic
在构建阶段和构建后阶段都可以正常工作

页面上生成的url是
href=/static/css/edit_card.a1c6e0f9f12e.css/
,但控制台显示该资源的404未找到,并且没有应用于页面的样式

相关django设置:

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static_media/')
STATICFILES_DIRS = [
    os.path.join(BASE_DIR + "/static_folder/"),
]

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
回购协议中的相关文件位于
/static\u folder/css/edit\u card.css
运行
collectstatic
后,heroku实例上的相关文件处于
static\u media/css/edit\u card.a1c6e0f9f12e.css
(连同普通版本和其他压缩文件)

我可以手动访问这个链接
url/static/css/edit\u card.css
,这真是不可思议

DEBUG=True
时,此功能正常工作。当处于
False
/生产模式时,它不会

有人能给我指出正确的方向吗?谢谢

编辑:

模板

{% load static %}
<link rel="stylesheet" type="text/css" href={% static "css/edit_card.css" %}/>
{%load static%}

对于这个响应来说可能太晚了,但是我很惊讶没有人注意到这个错误

您的模板如下所示:

<link rel="stylesheet" type="text/css" href={% static "css/edit_card.css" %}/>

URL位于引号之间,路径后有一个空格。

您能更明确地说明问题所在吗?因为当
DEBUG
false
(在生产中)时,应该是这样工作的。其中一个原因是,当您部署该资产的新版本时,浏览器和CDN不使用缓存版本。您是否通过将其添加到中间件列表来启用WhiteNoise?@D.Evans是的,先生,我有。@dethos很抱歉造成混淆,我将编辑此问题。问题是,
{static”/css/edit\u card.css“
在页面上生成的url显示上面提到的链接(
edit\u card.112f1rf123.css
)但是,网络控制台显示404,并且没有应用于页面的样式,而文件存在于
static_media
目录中。@BorkoKovacev您是否已尝试使用
{%load staticfiles%}
而不是
{%load static%}
<link rel="stylesheet" type="text/css" href="{% static "css/edit_card.css" %}" />