ADMIN_MEDIA_PREFIX 弃用和在 Django 1.4 中使用静态文件
Posted
技术标签:
【中文标题】ADMIN_MEDIA_PREFIX 弃用和在 Django 1.4 中使用静态文件【英文标题】:ADMIN_MEDIA_PREFIX deprecation and using static files in Django 1.4 【发布时间】:2012-04-19 14:11:33 【问题描述】:我有一个基于 django 1.3 的前端,它为来自 Amazon S3 的所有静态文件提供服务。我希望升级到 Django 1.4。似乎 Django 改变了管理静态文件的呈现方式。我有以下配置:
settings.py:我在 INSTALLED_APPS 中有应用程序 django.contrib.staticfiles(在“开发”和“产品”设置中)。 静态内容在 Amazon S3 上实时发布。
我正在我的开发机器上测试更改 (DEBUG=True),但 /admin 页面无法呈现静态文件和图标。那是因为它试图从 S3 中提取东西(因为 django.contrib.staticfiles 已安装),而不是从 dev django 文件夹中提取。有没有一种方法可以在 DEBUG = True 时强制将内容从开发文件夹中取出,而不是从 S3 中拉入?
【问题讨论】:
【参考方案1】:尝试根据DEBUG
设置STATIC_URL
:
if DEBUG:
STATIC_URL = "/static/"
else:
STATIC_URL = "http://external.domain.com/"
然后确保您已将 static files url patterns 添加到您的 url 配置中
【讨论】:
是的,我已经添加了。这适用于 1.3 但不适用于 1.4 什么不适用于 1.4?静态文件的链接是否仍指向调试模式下的外部域?还是开发服务器不提供文件?如果是后者,您可以使用您的设置和 URL 配置更新您的答案,如果您犯了错误,有人可能会发现。以上是关于ADMIN_MEDIA_PREFIX 弃用和在 Django 1.4 中使用静态文件的主要内容,如果未能解决你的问题,请参考以下文章