我正在编写一个非常简单的模板标记,它返回应用程序的详细名称:
@register.simple_tag
def get_verbose_name(app_name):
return apps.get_app_config(app_name).verbose_name
根据文档,我应该返回默认值,如果可能的话不抛出异常。如果问题不存在,我应该处理异常并返回None或抛出吗?
答案 0 :(得分:0)
你应该总是try
catch
可能的异常(即处理它们)在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