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 中使用静态文件的主要内容,如果未能解决你的问题,请参考以下文章

Android 平台上的 Google+ API 和 Google+ 登录弃用和停用

2021年2月3日 JCenter 弃用和服务终止

Gradle 任务 -- 任务的弃用和禁用

初学c语言用和不用中间参量进行两个数交换

弃用警告:无效的转义序列 - 用啥代替 \d?

Android 零碎知识点---1