获取 Django 模板的源代码

vrd*_*rde 3 python django django-templates

我需要获取模板的来源。我查看了模板 API源代码,但没有成功。

显然,模板对象不保留对原始源的引用。

在搞乱我的代码库之前,我要问:有没有一种简单的方法来获取模板的源代码?

lan*_*nzz 5

这些Template对象不保留对原始源的引用,但它们确实保留对原始源文件的引用,您可以从那里重新读取源:

source = open(template_instance.origin.name, 'r').read()
Run Code Online (Sandbox Code Playgroud)

  • 请注意,Django 1.7 上的 TEMPLATE_DEBUG = False 时不存在 template.origin - 它在您的开发环境中可以很好地工作,但在登台或更糟糕的生产环境中会惨遭失败。 (2认同)