diff --git a/django/template/base.py b/django/template/base.py index 0dec9940ab..078be8b383 100644 --- a/django/template/base.py +++ b/django/template/base.py @@ -694,9 +694,10 @@ class FilterExpression: self.filters = filters self.var = var_obj + self.is_var = isinstance(var_obj, Variable) def resolve(self, context, ignore_failures=False): - if isinstance(self.var, Variable): + if self.is_var: try: obj = self.var.resolve(context) except VariableDoesNotExist: diff --git a/django/templatetags/i18n.py b/django/templatetags/i18n.py index 8c123c7dd5..607ceb6aea 100644 --- a/django/templatetags/i18n.py +++ b/django/templatetags/i18n.py @@ -77,6 +77,7 @@ class TranslateNode(Node): self.message_context = message_context self.filter_expression = filter_expression if isinstance(self.filter_expression.var, str): + self.filter_expression.is_var = True self.filter_expression.var = Variable("'%s'" % self.filter_expression.var)