Black Lives Matter. Please consider donating to Black Girls Code today.

Output of callback function passed to different url/page

I am trying to write a multi-page app. I would like for the home page to be a form for the user to fill out, the callback to query table1 in our database for that information and return a list of results, and then pass the list to /page-1 where a list of results will be displayed (plus a radio button next to each). Then the user clicks one of the radio buttons, the callback queries table2 of the database and returns a dataframe, and passes the dataframe to page-2 where it is graphed. Here’s a visual if that makes it clearer:

Home Page
    Layout
        4 input boxes with lables
        Submit button
    Callback
        Input values from input boxes, n_clicks
        Output list object
        Function to query database.table1 for all instances of the 4 inputs
            return ResultsList
Page1
    Layout
        Radio Button with Label for each item in ResultsList
        Select button
    Callback
        Input RadioItems value, n_clicks
        Output dataframe
        Function to query database.table2 for all instances of input
            return dfMyResults
Page2
    Layout
        Graph of dfMyResults

I’m afraid if I have all of these items on one page, it will fill up and get to busy. Is there a way for a callback to hide an element?

I don’t want to have plotly read a csv file because our database currently has several hundreds of thousands of rows and is growing weekly. The csv file would be huge and difficult to keep up to date. I don’t know if a json file would be any better for the same reasons.

I haven’t had any luck with Google searches, so I’m reaching out here. Any help is appreciated. Please let me know if I need to clarify anything.