Open est31 opened 3 years ago
See also #389, #273.
This is something that I'd be interested in for another use case: I'd like to use the same template engine for static and dynamic parts of a web site. While the dynamic parts are fine to be statically compiled into a new binary, static parts should just be able to be generated by running a cmd tool and not involve compilation.
See also #425 for more discussion of potential designs and a bunch of workarounds. We should really probably coalesce all of these issues into a single one. Anyway, something that's not changed is that I'm mostly unlikely to start work on solving this. That said, now that askama_parser is available as a standalone crate (on main only for now) this might make things like this easier.
One use case which I haven't seen mentioned here yet is the ability to override templates at runtime to allow user customizable templates
Folks interested in this issue might like @rdbo's dynja, which uses minijinja for the debug profile and Askama for the release profile.
Is there a way to compile the template at runtime?e.g. compile a template from sql,then use it to render html?
No, Askama's code generator generates Rust code and I don't think there are any good ways of compiling and then executing Rust code at runtime. You might have better luck with something like Tera (although if you just want to make templates depend on your SQL schema that sounds like it could be solved with code generation).
Inspired by concerns voiced in this comment that askama has a bad edit cycle because it involves recompilation each time. Ideally, to solve this, one could have a second rendering engine that runs during runtime. See also @djc 's response in the thread.