Passing data from Jinja back to Flask
Note: by HTML I mean HTML incl. JavaScript etc.

Python web app receives HTTP request to render a page
Python code in controller asks Python model to prepare data for rendering HTML page by Jinja2
Jinja2 template renders the HTML page
Python web app sends resulting page back to the client
Client clicks on some element on the page. This could result in new HTTP request for completely new HTML page, or it can be AJAX request (Asynchronously performed HTTP request initiated from JavaScript on HTML page in a browser), which asks the web app for new data or provides web app with new information.
Web app (Python) receives the request, could make changes in model content and can return response back to JavaScript
JavaScript receives new data and uses them to update the HTML page in browser.

As seen, Jinja template is only tool, which allows rendering HTML page. The only direct interaction with web app is providing renderd HTML content, there is no chance to include any user interaction in that content at the moment, as client did not see the page yet, it has to be provided by Python code.
The only way, how can something in Jinja template inform Python code about user interaction is indirect by the round trip described above.
How do I pass info from Jinja-templated page back to Flask?
Say I print some list of items. User chooses the item, I can catch that via Javascript.
What is the best practice to pass the chosen item as an argument to function that will generate this item's own page?