4 ms·
Something I wish that Django did was user defined functions in the template. It has for loops, which is good but it forces you to write the html in top to botto
by jungletime 6y ago
Something I wish that Django did was user defined functions in the template. It has for loops, which is good but it forces you to write the html in top to bottom procedural manner.
It would be far better to be able to define a function that you can call for bits of html code that might repeat in the same template.
Since I stopped using Django at 1.6 does the new version let you define functions in the templates?
- __alexs 6y agoIt has blocks for this https://docs.djangoproject.com/en/3.0/ref/templates/builtins/#std:templatetag-extends https://docs.djangoproject.com/en/3.0/ref/templates/builtins...
- jungletime 6y agoThat isn't as nice to having a function inside the same file you can call over, IMHO. Also lets say you define a block for rendering a button with a different color. Then use 20 different buttons on one page. Does that mean that the block code would need to be loaded from a file 20 times and parsed each time. Seems like huge performance hit to do it that way. Is there a technical reason why you can't have a function in the same file. Am I misunderstanding how it works?
- drcongo 6y agoDjango has full Jinja support these days which is vastly preferable.
- jungletime 6y agoCan you write functions in Jinja?
- mrigor 6y agoyeah, it supports macros
- madelyn 6y agoI wrote a little library that does exactly this, though it's framework agnostic. I agree being able to use components in Python for webdev is nice. It's called "dashml" on PyPi if anyone is interested. I mostly use it in Django and haven't worked on it lately cause of $DAYJOB though.