March 2020
Intermediate to advanced
608 pages
17h 17m
English
Advanced custom template tags consist of two things:
The {% try_to_include %} template tag expects one argument— that is, template_name. Therefore, in the try_to_include() function, we try to assign the split contents of the token only to the tag_name variable (which is try_to_include) and the template_name variable. If this doesn't work, a TemplateSyntaxError is raised. The function returns the IncludeNode object, which gets the template_name field and stores it in a template Variable object for later use.
In the render() method of IncludeNode, we resolve the template_name