在开发和生产中提供静态文件的相同且简单的方法 - 是否可能?

时间:2013-05-30 07:04:43

标签: django django-staticfiles

是否可以仅在PROJECT_DIR / static目录中拥有静态文件而不需要在app dirs中复制静态文件而无需执行collectstatic命令?在本地计算机上使用Django dev服务器,在生产中 - 其他一些Web服务器。从我到目前为止所读到的,我认为这是不可能的,但也许这不是真的。

1 个答案:

答案 0 :(得分:2)

当然有可能..静态文件应用程序是有用的。如果您不喜欢“重复”(这就是重点 - 您可以为每个应用程序提供文件,所有文件都合并到一个区域中),请不要使用staticfiles应用程序。

只需在任何地方使用任何文件夹作为资产文件夹。在制作中,请在某个网址上提供,例如MY_URL。在开发过程中,连接URLConf以在MY_URL

的资产文件夹中提供文件

https://docs.djangoproject.com/en/1.5/howto/static-files/#serving-files-uploaded-by-a-user

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = patterns('',
    # ... the rest of your URLconf goes here ...
) + static('MY_URL', document_root='path-to-my-files')

这是旧学校的做法,在静态文件带来好处之前。

您确定只使用staticfiles应用程序无法解决此问题吗?在部署脚本中添加python manage.py collectstatic --noinput并不是很多工作。