Шаблоны Mako используют старую версию, пока я не обновлю файлы шаблонов вручную

Я периодически сталкиваюсь с этой проблемой, когда внезапно mako использует старые версии шаблонов, и только когда я вручную обновлю файлы шаблонов, они будут использовать текущую версию. я использую

./manage.py runserver

Я думаю, что обычно это происходит после обновления с использованием системы управления версиями, но это происходит с перерывами, и я не могу надежно воспроизвести проблему.


person Dave Aaron Smith    schedule 22.12.2009    source источник


Ответы (2)


Такое ощущение, что происходит какое-то кеширование. Вы не даете очень конкретного описания процесса, поэтому трудно углубиться в это.

person Peter Rowell    schedule 23.12.2009
comment
Да, это разочаровывает, потому что я не смог надежно воспроизвести проблему, поэтому я еще не знаю, что это за процесс. Как вы предполагаете, что-то вроде бы где-то кешируется, но я понятия не имею, кто и где кеширует. - person Dave Aaron Smith; 29.12.2009
comment
Я не использовал mako, но нашел это: makotemplates.org/docs/caching.html . Удачи. - person Peter Rowell; 29.12.2009

В вашем файле settings.py вы можете использовать параметр MAKO_TEMPLATE_OPTS, чтобы указать, куда помещаются временные скомпилированные шаблоны.

import os
import tempfile
MAKO_TEMPLATE_OPTS=dict(input_encoding='utf-8',
                        module_directory=os.path.join(
    tempfile.gettempdir(),
    os.environ.get('LOGNAME', 'unknown_user'),
    'mako'))

Это поместит их куда-нибудь вроде /tmp/dsmith/mako.

Вы можете использовать разные папки для разных проектов, чтобы они не перекрывались. Кроме того, если вы заметили проблему после обновления системы управления версиями или чего-то еще, вы можете просто очистить кешированную папку.

person Dave Aaron Smith    schedule 08.04.2010