针对白噪音的Django专用插件。
django-rednoise的Python项目详细描述
红噪声
django作为一个框架是很好的,但是在任何设置中的文件处理从来没有特别有趣的配置。whitenoise(https://whitenoise.readthedocs.org/)借用它自己的术语“彻底简化”来解释这个问题,在很大程度上,我发现它是一个理想的解决方案——尽管有时我发现自己需要一些东西。
rednoise是djangowitenoise模块与whitenoise的不同之处。它的目的是(和写一样)完全兼容现有的白化API,但是在一些事情上采取不同的方法。我认为这是WhiteNoise项目的一个固执己见的第三方插件,但是我希望不用说这里的任何东西都可以作为拉取请求或合并来使用。
开始
- pip install django-rednoise
- 遵循白噪声配置指南-它们都应该有效。
- 修改wsgi文件如下:
fromdjango.core.wsgiimportget_wsgi_applicationfromrednoiseimportDjangoRedNoiseapplication=get_wsgi_application()application=DjangoRedNoise(application)
…就这样。如果您认为需要其他配置选项,可以继续阅读,但默认设置或多或少是正常的。DjangoRedNoise是这个包中唯一的类;WhiteNoise的现有指南/文档应该足够了。
与白噪声的区别
- rednoise允许您为用户上传的媒体提供服务 注意,它不执行内容或任何东西的gzipping;这样满意的用例(至少对我来说)是cms中的用户 需要能够上传图像作为一个网站的一部分;配置存储和一些s3设置只是变得烦人的处理。
- rednoise尊重django的调试标志 当debug为true时,rednoise将模拟本地django静态文件处理例程。通过此更改,可以在 在开发中(前提是您正在使用uwsgi开发),以便您的环境可以模拟生产服务器。我发现这是 比在url.py解决方案中使用django的静态服务(ymmv)更快。
- 当debug为false时,rednoise模拟whitenoise的原始行为 ……除了两个例外。一是媒体也可以被服务,二是whitenoise在启动时扫描所有静态文件, rednoise将根据用户请求查找文件。如果找到它,它会像whitenoise一样缓存它-这个的优点 方法是,可以在事后根据需要添加静态文件,而无需重新启动进程。
- rednoise 404s直接位于uwsgi级别,而不是通过django应用程序 就我个人而言,我不明白为什么Django应该为我们不知道的图像处理404。这是,的 当然,我个人的看法。
许可证
麻省理工学院授权
接触
问题,担忧?Ryan[at]Venodesigns网点