Using and Mastering Cookiecutter Transcripts
Chapter: Creating Cookiecutter templates
Lecture: Concept: Extensions
Login or
purchase this course
to watch this video and the rest of the course contents.
0:01
Jinja2 comes with the ability to write extensions for its template language, here is the officially listed extensions as well as the API
0:09
that we can go to and write our own. We could also go to GitHub and do searches for those extensions,
0:14
and we saw that there were 25 of those, at the time of the recording, that is pretty cool, so if we want to use the extension,
0:21
we have to list it, right here in this _extensions. Now, unfortunately, this must be an installed Python package,
0:29
which means pip install package-name typically depending on, there is a few intricacies around which version of pip you're using
0:39
based on your path and so on, so this can get actually a little bit tricky for your users and it's too bad that it doesn't somehow install
0:46
this kind of automatically, as part of the template creation, so maybe there is some work to do, on this project to say look,
0:53
it requires these extensions if you either run this, this command or I can do it for you, as part of the execution,
1:00
and we'll set this up in your user profile, so from now on you can use these extensions there is a little bit of a security tightrope
1:07
to walk there but I think something like that would be really nice, it doesn't exist now so if you're going to do this,
1:12
your users have to install jinja2-time before they could run this template. But once we put this in here as an extension, then in our project,
1:19
we can say things like release date is {% now 'local' %} And that comes from the time extension, so that's really cool.