可以使用Django为小型内部网络应用程序提供静态文件吗?

时间:2019-05-10 21:22:58

标签: django django-staticfiles

首先-我的应用程序仅是我们团队的简单内部应用程序,因此最多可容纳10个用户,“高负载”内容一无所有,外部生产Internet也不面临任何问题。

正如我从其他帖子和问题中所读到的那样,推荐的方法是让面向用户的nginx(在主机上),主Docker容器中的一些wsgi服务器(例如Gunicorn或uwsgi)和静态服务器(例如nginx)进行静态投放。

但是我觉得对于我的简单应用程序来说,它变得太多了,我真的没有必要拥有两个Docker容器。我只想使用典型的manage.py runserver,它会变得更加容易和简单。在我读过的几乎所有帖子中,都提到这是“不安全且效率低下的”-但是,如果您的服务是纯内部的并且面向5-10-20用户,您真的会关心吗? 还是有其他替代方法不需要您设置单独的静态服务服务器?我已经阅读过有关Whitenoise的文章,但是如果我理解正确,它仍然需要您首先进行manage.py collectstatic,这对于本地开发而言效率很低。

使用manage.py来同时提供静态服务是否那么效率低下?将其用于小型内部网络工具是否可以接受?

1 个答案:

答案 0 :(得分:0)

您不必运行collectstatic即可使用WhiteNoise。您只需要使用此设置:

WHITENOISE_USE_FINDERS = True

有关更多详细信息,请参见: http://whitenoise.evans.io/en/stable/django.html#WHITENOISE_USE_FINDERS

这基本上模仿了生产中runserver的行为,这对于小型,低流量的内部应用程序来说很好。