В Chrome есть опция «Настройки консоли» («Инструменты разработчика» -> «Консоль» -> «Настройки» [верхний правый угол]) с именем «Показать метки времени», и это именно то, что мне нужно.
Я только что нашел это. Никакие другие грязные хаки не нужны, которые уничтожают заполнители и стирают место в коде, откуда сообщения были зарегистрированы.
Параметр «Показать метки времени» был перемещен на панель «Настройки» раздела «Настройки DevTools», расположенного в верхнем правом углу панели DevTools:
Я большой поклонник размещения ВСЕЙ «бизнес-логики» в функции просмотра и ВСЕХ презентаций в шаблонах / CSS.
Вариант 1 идеален. Вы возвращаете список пар: (дата, состояние), где состояние - это имя класса («прошлое», «настоящее», «будущее»).
Затем ваш шаблон использует информацию о состоянии в качестве класса для
. Затем ваш CSS предоставляет цветовую кодировку для этого диапазона.
Теперь вы можете изменять правила, не нарушая шаблон. Вы можете изменить CSS, не касаясь кода HTML или Python.
{% for date,state in the_date_list %}
<span class="{{state}}">date</span>
{% endfor %}
У меня было очень похожее требование; так как это в значительной степени связано с бизнес-логикой, я добавил модельный метод для управления этим видом информации, который будет использоваться затем в шаблоне:
{% if not bug.within_due_date %}bgcolor="OrangeRed"{% endif %}
Его также можно получить с помощью тега шаблона или фильтра; но в моем случае я чувствовал, что лучшее место для логики находится внутри модели; Я предлагаю вам проанализировать это таким же образом.
Поскольку вы выполняете статическое сравнение (запросы не требуются), вам следует выбрать наиболее СУХИЙ и простой в реализации вариант. В этом случае я бы выбрал вариант 4, сделал шаблонный фильтр. Затем вы можете сделать value | filter, чтобы получить класс, который вам понадобится для установки цвета фона. Фильтры шаблонов на самом деле реализовать немного проще, чем теги шаблонов.