def handle_token(cls, parser, token):
        tokens = token.contents.split()
        if tokens[1] != 'for':
            raise template.TemplateSyntaxError("Second argument in %r tag must be 'for'" % tokens[0])

        # {% render_comment_form for obj %}
        if len(tokens) == 3:
            return cls(object_expr=parser.compile_filter(tokens[2]))
        # {% render_comment_form for app.model object_pk %}
        elif len(tokens) == 4:
            return cls(
                ctype = BaseCommentNode.lookup_content_type(tokens[2], tokens[0]),
                object_pk_expr = parser.compile_filter(tokens[3])
                )
        # {% render_comment_form for obj with parent_id %}
        elif len(tokens) == 5:
            if tokens[-2] != u'with':
                raise template.TemplateSyntaxError("%r tag must have 'with' as the last but one argument" %tokens[0])
            return cls(
                object_expr=parser.compile_filter(tokens[2]),
                parent = parser.compile_filter(tokens[4])
                )
        # {% render_comment_form for app.model object_pk with parent_id %}
        elif len(tokens) == 6:
            if tokens[-2] != u'with':
                raise template.TemplateSyntaxError("%r tag must have 'with' as the last but one argument" %tokens[0])                
            return cls(
                ctype = BaseThreadedCommentNode.lookup_content_type(tokens[2], tokens[0]),
                object_pk_expr = parser.compile_filter(tokens[3]),
                parent = parser.compile_filter(tokens[5])
                )
        else:
            raise template.TemplateSyntaxError("%r tag takes 3 to 5 arguments" %tokens[0])
Class method to parse render_comment_form and return a Node.
dataset/ETHPy150Open theju/django-comments-apps/threaded_comments/templatetags/threaded_comments.py/RenderCommentFormNode.handle_token