Wie löst man einen Rückruf nur dann aus, wenn der Router angerufen wird?Python

Python-Programme
Anonymous
 Wie löst man einen Rückruf nur dann aus, wenn der Router angerufen wird?

Post by Anonymous »

In meiner Dash-Anwendung baue ich Telemetrie zur Verwaltung der Benutzeraktivität auf. Insbesondere möchte ich ein page_visisted-Ereignis auslösen, wenn jemand eine Seite lädt, aber nicht, wenn die URL durch einen anderen Rückruf auf dcc.location geändert wird. Ich habe derzeit den folgenden Rückruf, weiß aber nicht, wie ich ihn ändern soll?
Ich schätze, ich sollte nicht auf die URL-Standortkomponente hören, sondern vielleicht auf den Router selbst?

Code: Select all

@callback(
Output("landing_tracker", "children"),
Input("url", "pathname"),
State("magic_session", "data"),
prevent_initial_call=False,
)
def track_visit(url, session_data):
"""Track landing page visit with session ID."""
pattern, url = route_to_pattern(__name__), urlparse(url).path
if session_data and session_data.get("session_id")  and pattern.match(url):
telemetry.add_page_visit(session_data["session_id"], "landing_page")
return ""

dash.register_page(__name__, path="/", title="MyPage", layout=layout)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post