Hello everyone,
I’m trying to clear the cache of my app whenever a new file is uploaded through the file uploader widget, I tried using the on_change attribute which, if I understood correctly, calls my clear_cache function to clear the cache only when the file is changed. However, the function is being called every time I interact with the app. I tested this by making a new function which increases the value of a session_state variable whenever it gets called, and a button with no function, every time I click on the button the variable increases.
if 'acount' not in st.session_state:
st.session_state.acount = 0
def plusf():
st.session_state.acount += 1
st.write(st.session_state.acount)
# File uploader
st.file_uploader('Upload fluid file:', type=('xlsx', 'json'), on_change=plusf())
st.write(st.session_state)
st.button("Press me")
Here’s a ss showing the issue, I click on the button only (without uploading a file) and the value of “acount” increases
Streamlit version is 1.13.0
Python version is 3.9.12
I’m using conda and vscode
Windows 10
Google Chrome Version 105.0.5195.127 (Official Build) (64-bit)
Thank you in advance