Django의 템플릿 로더가 HTML이 오래되었다고 판단되면 SHPAML을 통해로드하는 (즉, 직접 또는 확장/포함을 통해) 모든 템플릿을 실행할 수 있습니까?Django의 템플릿 로더에서 SHPAML을 사전 처리 하시겠습니까?
전체 디렉토리에서 SHPAML을 재귀 적으로 호출하는 방법을 알고 있지만 필요할 때마다 실행할 수 있으므로 SHPAML 소스를 변경할 때마다 HTML을 동기화하는 것을 기억할 필요가 없습니다.
admin.py에서 SHPAML을 호출하는 것은 적어도 테스트 서버에서는 작동하지만 Django의 템플릿 엔진을 해킹하여 전 처리기를 통해로드하는 모든 파일을 실행 가능하게하는 것이 좋을 것 같습니다.
from django.template.loaders.app_directories import Loader
from shpaml import convert_text
class SHPAMLLoader(Loader):
def load_template_source(self, *args, **kwargs):
shpaml_source = super(SHPAMLLoader, self).load_template_source(*args, **kwargs)
html = convert_text(shpaml_source)
return html
는 그 다음 TEMPLATE_LOADERS
튜플의 시작 부분에서 귀하 로더를 넣어 :
내가 추가이 발견을 위해 유용하게 사용할 수있는 생각 명령을'manage.py' : http://docs.djangoproject.com/en/1.1/howto/custom-management-commands/ --- 안타깝게도 "주문형"부분으로는 도움이되지 않습니다. –