2
0 Comments

I'm compiling Django templates to SPA like UI for a better experience

I'm proposing a way a single developer can make use of Django simplicity and ship faster. Same goal as HotWire but an easier way and more Django friendly.

My approach is to use already existing resources from the Javascript ecosystem and refactor how Jinja templating is done. This way, the developer doesn't have to change the existing code much but it simply compiles your template into Javascript. Then we use Javascript Dom events and store manager (Redux) to maintain states.

Generally, you get to write Django code as usual but the result template is rendered as javascript, and that way we can make it reactive such as in React and VueJS.

Summary: Django reactive proposes compiling templates to javascript objects for easy data states management and rendering using the same principles used in SPA frameworks.

This project is at a very early stage and not usable yet but worth following it at https://github.com/felixcheruiyot/django-reactive

Here is a demo video link: https://youtu.be/wBQjXse6b7M

Note we have four templates rendered using Django views. Adding a new item to todo updates the other two views on the same page.

With Django reactive, the way you write your Django will not change. The way Jinja is compiled changes. The flow is Template > Data > Javascript Objects > Reactivity.

Your feedback is highly appreciated.

posted to Icon for group Developers
Developers
on January 19, 2021
Trending on Indie Hackers
Priorities for launching a SaaS solo, with no budget User Avatar 209 comments I built a tool directory that doesn't pretend every founder has the same needs User Avatar 45 comments AI helped me ship faster. Then I forgot what my product actually does. User Avatar 13 comments A one-week feature took two months, mostly spent keeping three systems in sync User Avatar 8 comments I built a browser-based photo geotagging tool. What should I lead with? User Avatar 6 comments Why founder-led outbound breaks the moment you try to delegate it User Avatar 5 comments