
Multi-Page Routing in Shiny for Python with Starlette
The problem with existing routing examples This is Part 2 of the Shiny for Python: The Missing Manual series. Part 1 covered extending Shiny with Quill.js for rich text input. This article stands alone, but if you're building a full internal tool, reading them in order will give you the complete picture. Search for Shiny for Python routing and you'll find the same pattern repeated: one Shiny app mounted at one route, one static HTML page at another. It demonstrates the concept, but it doesn't solve the real problem. In a production internal tool, you typically want something that behaves like a normal website — multiple pages, clean URLs, consistent navigation, and critically, shared server state across all of them . Maybe page one is a data entry form and page two is a live view of the database. The navigation bar links them, but they're running the same reactive logic underneath. That's what this article covers. We'll build a two-page application: a form that writes names to a SQLite
Continue reading on Dev.to Tutorial
Opens in a new tab



