Django whitenoise versioning не работает

Я использую whitenoise с официанткой для обслуживания моих статических файлов, но я не мог заставить его использовать версионный статический файл. Например, если у меня есть файл foo.js, то после запуска collectstatic whitenoise создает следующие файлы в моей статической папке:

foo.js
foo.js.gz
foo.10a400e06df8.js
foo.10a400e06df8.js.gz where 10a400e06df8 is the unique version code that whitenoise generated for me.

Вот мой файл wsgi.py:

from django.core.wsgi import get_wsgi_application

# This is the default application
application = get_wsgi_application()

def white():
    # This is an alternative WSGI app that wraps static content
    from whitenoise.django import DjangoWhiteNoise
    white = get_wsgi_application()
    white = DjangoWhiteNoise(white)
    return white

Вот как я включаю foo.js в свой шаблон:

{% load static from staticfiles %}
...
<script src="{% static "foo.js" %}" type="text/javascript"></script>

И я запускаю свой официантский сервер следующим образом:

официантка - подача --port=8080 --call myapp.wsgi:white

Когда я загружаю свою страницу, я ожидаю увидеть это в своем браузере

 <script src="/static/foo.10a400e06df8.js" type="text/javascript"></script>

Но я все еще вижу

<script src="/static/foo.js" type="text/javascript"></script>

Я что-то пропустил? В моих настройках у меня есть STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'

Любая помощь или предложения высоко ценится!

1 ответ

Решение

Является DEBUG установлен в True? Приложение staticfiles генерирует версионные URL только в том случае, если режим отладки отключен.

Другие вопросы по тегам