擅长:python、mysql、java
<p>我怀疑您可以通过从<a href="http://code.djangoproject.com/browser/django/trunk/django/template/loaders/app_directories.py#L31" rel="nofollow noreferrer">^{<cd1>}</a>(或您使用的任何加载程序)继承并重写{<cd2>}方法来实现您想要的结果,例如:</p>
<pre><code>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
</code></pre>
<p>然后将加载程序放在<code>TEMPLATE_LOADERS</code>元组的开头设置.py. 当然,每次加载模板时都要执行SHPAML到HTML的舞蹈,因此您可能会看到一些开销。即将发布的django1.2特性是模板缓存,这有助于减少开销。。。在</p>
<p>免责声明:此代码完全未经测试,抱歉。在</p>