问题标签 [whitenoise]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
141 浏览

django - 模块“whitenoise.storage”未定义“CompressedMainfestStaticFilesStorage”属性/类

我正在使用 whitenoise 在我的 Django 项目中提供静态文件。这里是settings.py

我在文件夹中有我的静态文件data/staticpython manage.py collectstatic当我在评论此行后尝试运行时:

它运行良好。但是当我在取消注释后尝试运行时collectstatic,它会出现上述错误。任何人都知道为什么这是一个错误?

以下是应用程序和中间件:

而且我尝试设置DebugTrueFalse但在任何一种情况下都无法使用压缩。

0 投票
0 回答
32 浏览

django - 带有 Heroku 的 Django 不提供除管理文件外的静态文件

我正在尝试将我的项目部署到heroku。一切正常,但没有静态文件。我得到这样的异常表单浏览器:

代码:

如何解决?

0 投票
1 回答
501 浏览

reactjs - 在 Heroku 上部署 Django 项目时找不到静态文件

我正在编写一个使用 Webpack 构建的 TypeScript/React 前端和由 Django 运行的后端的项目。运行npm run build,然后./manage.py collectstatic在本地正常工作。但是我在尝试在 Heroku 上部署我的项目时遇到了问题。我知道这个问题已经被问过很多次了,但没有其他解决方案对我有用。

这是我跑步时得到的git push heroku main

settings.py(这是项目中唯一的设置文件):

错误信息:

具有完整回溯的日志:

编辑:

这是我起飞whitenoise并将设置设置为时得到django_heroku的结果:staticfilesFalse

也许 Heroku 没有正确构建我的前端,所以collectstatic永远找不到它?

0 投票
0 回答
102 浏览

python - 使用 Python 向灰度图像添加噪声的问题

我尝试将高斯噪声添加到灰度图像中,例如:

问题是,当我使用 io.imsave() 保存图像时,我得到了一个嘈杂的图像,但与我在 Matlab 中使用的图像不同,我认为对比存在一些差异,因为这个语句:从 float64 到 uint8 的有损转换。范围 [-1713.9923310279846, 1488.4250569343567]。在保存之前将图像转换为 uint8 以抑制此警告。

因此,即使我尝试将其转换为 uint8,我也会得到一个带有白点的图像或一个带有一些白点的暗图像。任何解决这种有损转换的想法都没有让我得到我想要的正确的嘈杂图像。

0 投票
0 回答
73 浏览

django - 由 django-compressor/libsass 生成的压缩 CSS 文件不会在服务器第一次启动时提供,但会在后续启动时提供

我是第一次开发 Django 应用程序,我已经达到了对应用程序在开发环境中的功能感到满意的阶段。要部署,我必须设置 DEBUG=False,这带来了一些挑战。我了解到生产服务器不会像开发服务器那样提供静态文件。我学会了py manage.py collectstatic命令的使用。我设置了 WhiteNoise,到目前为止,我在开发服务器中使用 DEBUG=False 运行应用程序没有任何问题。剩下的最后一个障碍是提供 scss 文件,如 css。为此,我使用了 django-libsass 模块。我设置了 django-compressor,将“compressor”添加到 INSTALLED_APPS 列表中,设置 STATICFILES_FINDERS 和 COMPRESS_PRECOMPILERS 如下:

最后,我用所需的{% compress css %}标签更新了模板。在运行时,collectstatic我注意到文件是在适当的文件夹中生成的/static/CACHE/css/output.RANDOM_NUM.css。这就是奇怪的问题发生的地方。我第一次运行开发服务器时,没有提供 CSS 文件:

该请求返回 404。尽管我能够验证该文件在该路径上确实可用。然后我关闭服务器并重新启动它,这一次页面被准确呈现并提供文件。谁能告诉我为什么会这样..?

此外,这不是其他不受 django-compressor/django-libsass 模块影响的静态文件的问题。它们在服务器本身的第一次启动时提供。

这不是一次性的问题。我一次又一次地重复这个过程。1. 我删除了“静态”文件夹及其内容。2. 我跑py manage.py collectstatic,3. 我跑py manage.py runserver。未提供 CSS。4.ctrl + c运行py manage.py runserver。提供 CSS。问题重演

还有一点需要注意的是,跑步py manage.py runserver --insecure不会遇到这个问题,尽管我猜这是一种完全不同的机制。

我想知道我是否应该忽略这一点。服务器总是在第二次运行时提供 CSS 文件。但是这个问题的持久性让我想知道我是否应该在部署应用程序之前解决这个问题。我计划部署在 Heroku 上。

0 投票
1 回答
82 浏览

python - 为什么在 Python 应用程序中提供静态文件是一个问题

我似乎不明白在 Python 应用程序中提供静态文件的问题,例如 Django。现在我正在阅读 WhiteNoise 的文档,第一个问题是为什么首先开发它?我的意思是它解决了什么问题?为什么我们不能将所有静态文件保存在 /static 文件夹中并将其复制到主机。

0 投票
2 回答
475 浏览

django - 在 Django 中,whitenoise 不显示静态文件?

我正在尝试显示静态文件debug=false。我正在使用白噪声库,但网站仍然不显示静态文件和媒体文件。我的 settings.py 文件是这样的:

网址.py:

0 投票
0 回答
22 浏览

django - Heroku实际上并没有复制静态文件吗?

我最近更改了 django 应用程序的目录结构,这迫使我设置DISABLE_COLLECTSTATIC并指定 collectstatic 以在发布时运行。查看部署日志 - 我没有发现任何问题:

但是,当我尝试访问我的站点时,我无法访问任何静态文件。此外,如果我打开一个 shell 到 heroku 中heroku run bash,静态目录(我有一个static提交给 git 的空目录)是完全空的。所以heroku说它复制了静态文件,但据我所知 - 它没有。

有没有人知道这是怎么发生的?我正在使用 webpack 和 whitenoise 来提供静态文件。

0 投票
1 回答
56 浏览

django - 无法在已部署的 Django 应用程序(Docker、gunicorn、whitenoise、Heroku)中提供静态文件

我已经构建了一个仅提供 JSON 响应的 Django REST API。我的问题是,在生产中(使用 debug=False 部署在 Heroku 上),该应用程序似乎没有提供适当的管理界面样式所需的相关静态文件(仅用于静态文件的用例)。请注意,在开发中(带有 debug=True 的 localhost),管理界面的样式正确。

转到已部署(Heroku)地址的管理路由,内容已交付,但没有任何样式。浏览器开发人员工具指示由于 500 错误代码而无法加载样式表。Django 日志输出显示以下详细信息。

我已经进入 Heroku dyno 并验证了导致 500 错误的静态文件实际上根据 Django 的 settings.py 位于 static_root 中。我一直在花费大量时间在互联网上搜索可能导致文件无法在生产中提供的线索,但无论我尝试过什么,它都不起作用。

以下是相关文件和设置的精选摘要。

Dockerfile

heroku.yml

heroku_entrypoint.sh

设置.py

wsgi.py

0 投票
1 回答
48 浏览

django - 带有白噪声的 Heroku 不提供 django 静态文件

如何让 heroku 在我的 django 项目中提供静态文件?

好的,在推送到 heroku 时,我收到了与静态文件相关的消息:

但是当我去我的网站时,清除静态文件未被识别并且网络选项卡向我显示:

这是我的 html 的内容,引用了我找不到的 css:

这是我的 settings.py 的底部,它的配置就像到处说的那样:

这是我的设置中更高的地方,我在各处都推荐了白噪声依赖项:

最后,这是我的网址,我在其中添加了静态网址,但仅适用于我的本地环境:

我究竟做错了什么?是因为我在设置中有 DEBUG=True 吗?我将其设置为 False 作为检查,但出现 500 错误