Log out
Reports
Reports

A Form

This form was created with the Grapes.js visual layout editor. The HTML code generated by Grapes.js was copied into the Jam.py index.html file (as divs in the template section), and the CSS code was copied directly into the Jam.py project.css file. This was all done using only the Grape.js visual editor and the Jam.py code editor - both entirely in the browser (no command line tooling or editor software installed on a workstation are required for any of this workflow).

In Jam.py, a new task page is then created. On that task page, the saved HTML code is imported from the template section of the index.html file. This import is performed in the client JS code of the task page, within the on_view_form_created handler. In the client JS code, a click event handler is also written for the generated HTML button. In that JS handler function, the data collected from each form field is sent to a Python function on the Jam.py back-end. In the back-end function, Jam.py database functions are used to save the form data values to a database table, which has been created using the no-code schema builder in Jam.py.

Another page in the Jam.py project is also created, on which an automatically generated Jam.py grid displays all the rows of data which have ever been entered into the HTML form above. Of course, the automatically generated set of Jam.py grid and form UI components are capable of enabling all the same functionality of the custom Grapes.js form, without having to write any code at all. The point of this example is just to show how simple it is to wire custom UI interfaces to any of the database schema tables and UI grids/forms which can be created using Jam.py's no-code tools.

Although we chose to build this custom HTML form example using the Grapes.js visual builder, we could just as easily have chosen to generate HTML/CSS code with generative AI tools such as ChatGPT, Claude, Deepseek, Gemini, etc. And we could just as easily use generative AI to write some Python SQLAlchemy code, SQL queries (with a Python driver to send the queries to the database), or any other server code to interact with the same database schema. If there's ever a need to use such tooling, instead of the built-in Jam.py database ORM features, the framework is completely extensible in any way you need it to be, using any Python code you want, and/or any custom HTML/CSS/JS/jQuery/Bootstrap or other front end code you prefer. Additionally, you could choose to create/manage database schema using DBeaver, HeidiSQL, SSMS, pure SQL code, or any other tools you prefer, and then import that schema directly into Jam.py, and build CRUD grids and forms using Jam.py's no-code tools.

Jam.py is totally flexible in how you choose to customize your application tooling. The specialized set of tools it provides are just extremely useful and practical, and can be massive time savers for typical development requirements which are expected parts of any database development project - and they even enable non-technical users to build core CRUD pieces of an application, without any coding experience required.

Coin toss