Django 1.8检查视图中是否存在模板

时间:2015-07-02 13:43:04

标签: python django

有没有更好的方法来检查django 1.8中是否存在模板?

目前,我在views.py中执行此操作:

def get_template_names(self):
    try:
        get_template(self.get_template_name())
        return self.get_template_name()
    except TemplateDoesNotExist:
        return self.get_fallback()

加载模板以检查我是否可以加载模板,我感觉不太舒服。

1 个答案:

答案 0 :(得分:4)

方法get_template_names()旨在返回模板列表。因此,如果计算get_fallback()并不昂贵,您可以调用它并将其包含在列表中。 Django将使用存在的列表中的第一个模板来呈现模板。

def get_template_names(self):
    return ['default_template_name.html', self.get_fallback()]