django模板标记中的静默异常

django模板标记中的静默异常,django,exception-handling,django-templates,Django,Exception Handling,Django Templates,我正在编写一个非常简单的模板标记,它返回应用程序的详细名称: @register.simple_tag def get_verbose_name(app_name): return apps.get_app_config(app_name).verbose_name 根据文档,我应该返回默认值,如果可能的话,不抛出异常。我应该处理异常并返回None,还是在问题不存在时抛出它?您应该总是尝试用python和Django捕获可能的异常(即处理它们)!这是一个很好的做法 所以,我要做的是:

我正在编写一个非常简单的模板标记,它返回应用程序的详细名称:

@register.simple_tag
def get_verbose_name(app_name):
    return apps.get_app_config(app_name).verbose_name

根据文档,我应该返回默认值,如果可能的话,不抛出异常。我应该处理异常并返回None,还是在问题不存在时抛出它?

您应该总是
尝试用python和Django捕获可能的异常(即处理它们)
!这是一个很好的做法

所以,我要做的是:

@register.simple_tag
def get_verbose_name(app_name):
    try:
        verbose_name = apps.get_app_config(app_name).verbose_name
    except LookupError:
        return 'No app for {}'.format(app_name)
    else:
        return verbose_name