def render(self, context): filterchain = self.filterchain_var.resolve(context) if isinstance(filterchain, FilterChain): schema = filterchain.schema elif isinstance(filterchain, Schema): schema = filterchain # Note, context['request'] only works if # django.core.context_processors.request is enabled in # TEMPLATE_CONTEXT_PROCESSORS. filterchain = FilterChain(context=context, request=context['request'], schema=schema) else: raise template.TemplateSyntaxError( "%r is neither a FilterChain nor a Schema" % filterchain) removals = [r.resolve(context) for r in self.removals] if self.clear: filterchain = filterchain.copy() filterchain.clear() additions = [] for key, values in self.additions: key = key.resolve(context) additions.append((key, [v.resolve(context) for v in values])) schema = filterchain.schema return filterchain.make_url(additions=additions, removals=removals)
def _get_filterchain(self, context): filterchain_or_schema = self.filterchain_var.resolve(context) if isinstance(filterchain_or_schema, FilterChain): filterchain = filterchain_or_schema elif isinstance(filterchain_or_schema, Schema): # Note, context['request'] only works if # django.core.context_processors.request is enabled in # TEMPLATE_CONTEXT_PROCESSORS. filterchain = FilterChain(context=context, request=context['request'], schema=filterchain_or_schema) else: raise template.TemplateSyntaxError( "%r is neither a FilterChain nor a Schema" % filterchain_or_schema) if self.clear: filterchain = filterchain.copy() filterchain.clear() return filterchain
def _get_filterchain(self, context): filterchain_or_schema = self.filterchain_var.resolve(context) if isinstance(filterchain_or_schema, FilterChain): filterchain = filterchain_or_schema elif isinstance(filterchain_or_schema, Schema): # Note, context['request'] only works if # django.core.context_processors.request is enabled in # TEMPLATE_CONTEXT_PROCESSORS. filterchain = FilterChain(context=context, request=context.get('request'), schema=filterchain_or_schema) else: raise template.TemplateSyntaxError( "%r is neither a FilterChain nor a Schema" % filterchain_or_schema) if self.clear: filterchain = filterchain.copy() filterchain.clear() return filterchain