如果输入参数在Django模板中无效,如何抛出异常
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果输入参数在Django模板中无效,如何抛出异常相关的知识,希望对你有一定的参考价值。
如果模板输入参数无效,有没有办法抛出异常?在django旧版本中,我们可以像下面的代码那样做。但是最新的django版本怎么样?有一个选项可以设置string_if_invalid ='string',但我们需要为此抛出异常的唯一原因是我们显然不希望邮件服务器向客户发送垃圾邮件。
谢谢。
# settings.py in old versions
class InvalidVarException(object):
def __mod__(self, missing):
try:
missing_str=unicode(missing)
except:
missing_str='Failed to create string representation'
raise Exception('Unknown template variable %r %s' % (missing, missing_str))
def __contains__(self, search):
if search=='%s':
return True
return False
TEMPLATE_DEBUG=True
TEMPLATE_STRING_IF_INVALID = InvalidVarException()
答案
In Django<=1.9
TEMPLATE_STRING_IF_INVALID = 'DEBUG WARNING: undefined template variable [%s] not found'
在您的settings.py中。
In Django>=1.10
string_if_invalid = 'DEBUG WARNING: undefined template variable [%s] not found'
Also check this link about invalid template variables
And this link about django backend template engine
以上是关于如果输入参数在Django模板中无效,如何抛出异常的主要内容,如果未能解决你的问题,请参考以下文章
事务场景中,抛出异常被catch后,如果需要回滚,一定要手动回滚事务
Django - error_403() 得到了一个意外的关键字参数“异常”