My app is not redirecting to webpage when instructed to do so

Public app - https://triptych.streamlit.app/
Github repo - GitHub - PranjalAsthana/Triptych

I am making this app as a front page and a redirect page for my 3 projects. I do not want to make a multipage app. I am using webbrowser library in python to achieve the functionality.

When using it in local machine the buttons work as they are supposed to and opens the webpage passed to it.

However after deployment it is not doing so when button is pressed. I want to showcase this project and if the page cant open other webpages then this project wont work at all.

Please take a look and help me out.

There is no error in panel and the remaining app is working fine.

Streamlit ver-1.28.1
Python ver-3.11.5

I believe there is a flaw in this approach. Streamlit has a server-client structure. So when Python executes lines within your app, it’s doing this on the server. When someone is viewing your app, this is the client. This works for you locally only because in that case, your server and client happen to be the same computer. When deployed, if a user clicks a button, webbrowser will open up something on the server. That is, something opens on a computer in the cloud and not on their computer where they’re viewing it.

Have you tried st.link_button instead?

I’m trying this right now and I’ll inform you.

Hey it works now, thank you so much. Learned about how server-client structure works first hand.

1 Like