code: def _gen_ticket(prefix=None, lg=settings.CAS_TICKET_LEN):
      
      random_part = u''.join(
          random.choice(
              string.ascii_letters + string.digits
          ) for _ in range(lg - len(prefix or "") - 1)
      )
      if prefix is not None:
          return u'%s-%s' % (prefix, random_part)
      else:
          return random_part
docs: Generate a ticket with prefix ``prefix`` and length ``lg``
  
          :param unicode prefix: An optional prefix (probably ST, PT, PGT or PGTIOU)
          :param int lg: The length of the generated ticket (with the prefix)
          :return: A randomlly generated ticket of length ``lg``
          :rtype: unicode