Я использую бэкэнд CachedStiles в Django 1.7 и имею проблему со статическими файлами в интерфейсе администратора.Django CachedStaticFilesStorage в ModelAdmin Media
В классе ModelAdmin
вы можете определить класс Media
со статическими файлами, которые будут добавлены в списки добавления/изменения. Чтобы применить хэш к этим файлам, я использую функцию static
в django.contrib.staticfiles.templatetags.staticfiles
. Например:
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>
В самом деле, вы не можете запустить любую команду Джанго, как он пытается загрузить приложение администратора и он терпит неудачу, когда он доходит до попытки запустить команду static
в статическом файле, который еще не собран.
Есть ли у кого-нибудь идеи об этом?
Я столкнулся с этим также. Кажется, команда Django работает над исправлением этого. https://github.com/django/django/pull/5571/files –
Вот билет: https://code.djangoproject.com/ticket/21221 –