About a year and a half ago I began moving everything to Next.js, and have migrated 30 sites from the Django platform and have built 20+ on the Next.js platform since building that out.
Next has allowed us to create reusable but heavily-themeable functional components that we couldn't do with Django's templating language (without a lot of boilerplate and pain), and I'm extremely happy with the move (even though I might not reach for Next on my next side project).
I do however wish I had given more attention to Astro when I was evaluating frameworks, because in hindsight it looks like a perfect fit for what we're doing. Not worth migrating now, though. Haha.
``` {% with field|contact_label as label %} <div class="relative mt-5 my-3 md:my-5"> <label class="{% if placeholders %}hidden{% endif %} bg-white absolute -top-[9px] block ml-2 px-2 text-black text-sm rounded" for="{{ form_name }}_{{ field }}" id="{{ form_name }}_{{ field }}_label"> {{ label }} </label> ```
(the "with" templatetag)
Over time these templates just became very difficult to work with. Part of that is likely also because I've been a full-time React dev for the better part of a decade, and I'm just faster with it.
I've used that method with twig (php), vue and static html templates.
I'm curious - how does the design process go? Do you propose a design, do they usually have a pretty complete vision or do you have templates that they can take inspiration from?