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
元组的开头设置.py. 当然,每次加载模板时都要执行SHPAML到HTML的舞蹈,因此您可能会看到一些开销。即将发布的django1.2特性是模板缓存,这有助于减少开销。。。在免责声明:此代码完全未经测试,抱歉。在
刚刚根据Piquadra答案中的片段创建了一个项目。它的特性更加完整,并且支持django1.1和1.2(可能还有1.0)
我觉得这对未来可能有用:)
相关问题 更多 >
编程相关推荐