如果输入参数在Django模板中无效,如何抛出异常

问题描述 投票:1回答:1

如果模板输入参数无效,有没有办法抛出异常?在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()
python django templates configuration
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.