parameters: (self, with_tuple=True, name_only=False,
                              extra_end_rules=None, with_namespace=False)
return_statement: return target
docstring: Parse an assignment target.  As Jinja2 allows assignments to
          tuples, this function can parse all allowed assignment targets.  Per
          default assignments to tuples are parsed, that can be disable however
          by setting `with_tuple` to `False`.  If only assignments to names are
          wanted `name_only` can be set to `True`.  The `extra_end_rules`
          parameter is forwarded to the tuple parsing function.  If
          `with_namespace` is enabled, a namespace assignment may be parsed.
docstring_summary: Parse an assignment target.  As Jinja2 allows assignments to
          tuples, this function can parse all allowed assignment targets.  Per
          default assignments to tuples are parsed, that can be disable however
          by setting `with_tuple` to `False`.  If only assignments to names are
          wanted `name_only` can be set to `True`.  The `extra_end_rules`
          parameter is forwarded to the tuple parsing function.  If
          `with_namespace` is enabled, a namespace assignment may be parsed.
docstring_tokens: Parse an assignment target . As Jinja2 allows assignments to tuples this function can parse all allowed assignment targets . Per default assignments to tuples are parsed that can be disable however by setting with_tuple to False . If only assignments to names are wanted name_only can be set to True . The extra_end_rules parameter is forwarded to the tuple parsing function . If with_namespace is enabled a namespace assignment may be parsed .
function: def parse_assign_target(self, with_tuple=True, name_only=False,
                              extra_end_rules=None, with_namespace=False):
          """Parse an assignment target.  As Jinja2 allows assignments to
          tuples, this function can parse all allowed assignment targets.  Per
          default assignments to tuples are parsed, that can be disable however
          by setting `with_tuple` to `False`.  If only assignments to names are
          wanted `name_only` can be set to `True`.  The `extra_end_rules`
          parameter is forwarded to the tuple parsing function.  If
          `with_namespace` is enabled, a namespace assignment may be parsed.
          """
          if with_namespace and self.stream.look().type == 'dot':
              token = self.stream.expect('name')
              next(self.stream)  # dot
              attr = self.stream.expect('name')
              target = nodes.NSRef(token.value, attr.value, lineno=token.lineno)
          elif name_only:
              token = self.stream.expect('name')
              target = nodes.Name(token.value, 'store', lineno=token.lineno)
          else:
              if with_tuple:
                  target = self.parse_tuple(simplified=True,
                                            extra_end_rules=extra_end_rules)
              else:
                  target = self.parse_primary()
              target.set_ctx('store')
          if not target.can_assign():
              self.fail('can\'t assign to %r' % target.__class__.
                        __name__.lower(), target.lineno)
          return target
function_tokens: def parse_assign_target ( self , with_tuple = True , name_only = False , extra_end_rules = None , with_namespace = False ) : if with_namespace and self . stream . look ( ) . type == 'dot' : token = self . stream . expect ( 'name' ) next ( self . stream ) # dot attr = self . stream . expect ( 'name' ) target = nodes . NSRef ( token . value , attr . value , lineno = token . lineno ) elif name_only : token = self . stream . expect ( 'name' ) target = nodes . Name ( token . value , 'store' , lineno = token . lineno ) else : if with_tuple : target = self . parse_tuple ( simplified = True , extra_end_rules = extra_end_rules ) else : target = self . parse_primary ( ) target . set_ctx ( 'store' ) if not target . can_assign ( ) : self . fail ( 'can\'t assign to %r' % target . __class__ . __name__ . lower ( ) , target . lineno ) return target