【发布时间】:2015-02-06 12:54:29
【问题描述】:
我在 Django 1.7 中使用 CachedStaticFilesStorage 后端,并且在管理界面中遇到静态文件问题。
在ModelAdmin 类中,您可以定义一个带有静态文件的Media 类以添加到添加/更改视图中。要将哈希应用于这些文件,我使用了django.contrib.staticfiles.templatetags.staticfiles 中的static 函数。例如:
from django.contrib.staticfiles.templatetags.staticfiles import static
class MyAdminClass(admin.ModelAdmin):
class Media:
js = [
static('app/static_file.js'),
static('app/static_file_2.js'),
]
这似乎有效,因为在进行此更改之前已经收集了静态文件。但是,当我删除静态文件并尝试运行 collectstatic 时,它会失败并出现错误:
ValueError: The file 'app/static_file.js' could not be found with <django.contrib.staticfiles.storage.CachedStaticFilesStorage object at 0x80910a9d0>
事实上,您无法运行任何 django 命令,因为它会尝试加载管理应用程序,并且在尝试对尚未加载的静态文件运行 static 命令时失败还没有收集到。
有没有人想办法解决这个问题?
【问题讨论】:
-
我也遇到了这个。似乎 Django 团队正在努力解决这个问题。 github.com/django/django/pull/5571/files
标签: python django django-admin