If I’m coding in Go, I want to use Go and I want to use its power fully. I don’t want to use some crippled version of it that’s used only inside of templates.
That’s what makes Lisp macros awesome. You write them in Lisp.
Also, since you like Python, have seen the Mako language? It’s less restricted than Jinja2 and can take pretty much arbitrary Python.
But, when rendering web pages, (the primary use for Jinja2) you want to keep as much complexity out of your templates as possible, so you can test your logic more easily. A restricted DSL enforces that.
That’s what makes Lisp macros awesome. You write them in Lisp.
Also, since you like Python, have seen the Mako language? It’s less restricted than Jinja2 and can take pretty much arbitrary Python.
But, when rendering web pages, (the primary use for Jinja2) you want to keep as much complexity out of your templates as possible, so you can test your logic more easily. A restricted DSL enforces that.