1

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

4

1 回答 1

5

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

只需在任何地方使用任何文件夹作为您的资产文件夹。在生产中,在某个 url 上提供它,比如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在部署脚本中添加 a 并没有太多工作。

于 2013-05-30T07:09:58.047 回答