2013-04-03 4 views
2

У меня возникла эта странная ошибка с сайтом Django, который отлично работает с DEBUG = True, но ломается несколькими интересными способами, когда DEBUG = False.Django escaping javascript, когда DEBUG = False

Возможно, возможно, что встроенный javascript в админ-приложении ускользнул, когда DEBUG True. Так, например:

if(message && message!="error") 

становится

if(message && message!="error") 

, который, очевидно, бесполезно ...

Кто-нибудь знает о каких-либо общих причин, почему это могло произойти?

Более конкретно, этот сайт использует Django CMS 2.3.5, а страница администрирования, с которой я вижу это, является частью администратора страницы CMS. У нас небольшое изменение шаблона в системе администратора, но я удалил это изменение шаблона, и ошибка сохранилась. Во всяком случае, экранирование, похоже, происходит в движке шаблонов Django до загрузки страницы.

Любые указатели, помощь или хорошие места, чтобы лучше оценить их.

+0

Это также избежать, если (Foo <бла), как если (Foo < бла)? – Foon

+0

@Foon: да, '<' and '>' также экранированы –

ответ

1

Выведено в качестве промежуточного программного обеспечения django-htmlmin, которое по умолчанию срабатывает только тогда, когда DEBUG установлено на False. У меня filed a bug.

Ускорение на самом деле сделано BeautifulSoup - Я спросил another question about how to avoid the escaping.

Как это было только страницы администратора, которые были затронуты, я работал над проблемой, добавив:

EXCLUDE_FROM_MINIFYING = ('^admin/', '^en/admin/') 

к settings.py

Смежные вопросы