是否可以从CDN和本地目录提供静态文件? 目前STATIC_URL指向CDN。我还配置了STATICFILES_DIR来提供本地目录中的文件。 django.contrib.staticfiles也在INSTALLED_APPS中。但是,如果我说:
"{% static "img/some_image.png" %}"
在我的模板中,Django尝试从CDN下载文件,并且从不尝试在本地搜索它。有没有办法可以从这两个地方提供服务?
答案 0 :(得分:0)
不,它不能。它将始终根据STATIC_URL
。
您可以做的是在settings.py
中添加一个标记,这样如果您在本地主机上运行,则更改STATIC_URL
变量:
if DEBUG:
STATIC_URL = '/static/'
同样,在urls.py
中,您也可以添加此项检查:
from django.conf import settings # add this to the top
from django.conf.urls.static import static
urlpatterns = ('',
url(r'home/$', ... ),
# your other urls here
)
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
manual提供了更多提示,包括在开发过程中提供媒体文件(用户上传文件)的类似代码。