Web App / Python Backend?

Hi -

I searched the forums and didn’t quite find a full answer. I have a strong python background but little HTML / CSS. I was looking for a tool like RapidWeaver to allow me to design and build a front-end. Then connect it to my python backend APIs. Is that easy? Any link to documentation or tutorials?

Thanks!

Are you exposing them via REST?

Yep! So hypothetically, if I have a rest API using Flask, can I grab data from that API? Can I manage users / log-ins? Can I make a web app powered from an AP and RapidWeaver? I know things like Bubble.is exist but I don’t want to use their low-code workflows.

Thanks!

Even not a good coding tool, you have access to HTML and JS inside RW. So you could load data via AJAX etc.

I’ve played around with this kind of thing a fair bit.

For example taking an entire RW exported site code and bringing the entire thing into a Flask or Django app - so that the site is essentially being run by a Python backend. Same with Java Spring and SparkJava.

Works fine.

But… updates are a pain in the tonsils, because any changes you make in the RW project (and then export) are clearly going to shatter all your dependency links, which you will have now wrangled to point to your new apps structure. Add to that the impact of dealing with Stacks generated HTML which drops extra classes and id’s to compartmentalise different stacks/vendor code domains… and it quickly becomes a chore. Because you are dealing with a Python backend you can of course intercept requests at the Routing layer and invoke whatever pre-processing you fancy (making custom CMS and dynamic content a breeze…), but that will incur a bit of performance cost depending on the complexity.

The other option, as described, is to develop Rest API in Python (again Flask, Django or whatever you fancy - there are certainly no shortage of options!
https://nordicapis.com/8-open-source-frameworks-for-building-apis-in-python/)

That way you can side-by-side develop your RW site with your Python pseudo ‘back end’. If you go that way I suggest that you:

a) Consider finding or making a really good html stack which you can use in RW for content injection or other calls or data presentation handling.
b) Get comfy adding extra code files into your RW projects so that you can edit in something decent and save the edits back to the project. Kills me that a RW html page is so pathetic after all these years and now at RW8.

In general though, when I need to build/host in Python/Java/Go I’ll buy/use a template and just bring it all into Flask or Django then deploy that to a cloud vm ( AWS Ec2 instance hooked in through Route 53 or similar).

Hope this helps.

4 Likes

This is a great answer. Thank you!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.