+ as_index = None
+ context_var = None
+ for i, bit in enumerate(split):
+ if bit == 'as':
+ as_index = i
+ break
+ if as_index is not None:
+ try:
+ context_var = split[as_index + 1]
+ except IndexError:
+ raise template.TemplateSyntaxError("Context variable assignment " +\
+ "must take the form of {%% %r object.example_set.all ... as " +\
+ "context_var_name %%}" % split[0])
+ del split[as_index:as_index + 2]