如何使用 Waitress 和 Django 提供静态文件?
How to serve static files with Waitress and Django?
我有一个基于 Django 构建的小型 Web 应用程序,其中包含 python manage.py collectstatic
收集的一些静态文件。我使用的是轻量级服务器,Waitress
当我 运行 我的服务器使用脚本
from waitress import serve
from <my app>.wsgi import application
if __name__ == '__main__':
serve(application, host = '0.0.0.0', port='8000')
应用程序最多加载 http:localhost:8000
,但我注意到静态文件不存在。从终端,我可以读取
Not Found: /static/<my app>/styles.min.css
WARNING:django.request:Not Found: /static/<my app>/styles.min.css
Not Found: /static/<my app>/buttonhover.css
WARNING:django.request:Not Found: /static/<my app>/buttonhover.css
Not Found: /static/<my app>/script.min.js
除了 Waitress 之外,我还需要其他东西来提供静态文件吗?除了 Waitress 之外,我是否需要像 nginx 运行ning 这样的反向代理?如果是这样,是否有 Python 个反向代理可用?
我找到了使用 White Noise 库的解决方案。
Do I need something in addition to Waitress to serve the static files?
是的。有点。你确实需要一些东西来帮助 Django 找到静态文件,或者将它们上传到像 AWS S3 这样的在线容器。
Do I need a reverse proxy like nginx running alongside Waitress?
没有。 White Noise 是对 Django 项目的一个简单添加,在我看来,它与 Waitress 搭配得很好,因为它们是独立的 Python 个项目。
我有一个基于 Django 构建的小型 Web 应用程序,其中包含 python manage.py collectstatic
收集的一些静态文件。我使用的是轻量级服务器,Waitress
当我 运行 我的服务器使用脚本
from waitress import serve
from <my app>.wsgi import application
if __name__ == '__main__':
serve(application, host = '0.0.0.0', port='8000')
应用程序最多加载 http:localhost:8000
,但我注意到静态文件不存在。从终端,我可以读取
Not Found: /static/<my app>/styles.min.css
WARNING:django.request:Not Found: /static/<my app>/styles.min.css
Not Found: /static/<my app>/buttonhover.css
WARNING:django.request:Not Found: /static/<my app>/buttonhover.css
Not Found: /static/<my app>/script.min.js
除了 Waitress 之外,我还需要其他东西来提供静态文件吗?除了 Waitress 之外,我是否需要像 nginx 运行ning 这样的反向代理?如果是这样,是否有 Python 个反向代理可用?
我找到了使用 White Noise 库的解决方案。
Do I need something in addition to Waitress to serve the static files?
是的。有点。你确实需要一些东西来帮助 Django 找到静态文件,或者将它们上传到像 AWS S3 这样的在线容器。
Do I need a reverse proxy like nginx running alongside Waitress?
没有。 White Noise 是对 Django 项目的一个简单添加,在我看来,它与 Waitress 搭配得很好,因为它们是独立的 Python 个项目。