Flask 不同dash会话的唯一会话id

Flask 不同dash会话的唯一会话id,flask,plotly-dash,Flask,Plotly Dash,我想为用户每次在浏览器中打开dash应用程序时创建唯一的会话ID 我一直在遵循教程: 这是我的代码: import dash import dash_html_components as html import dash_core_components as dcc import flask import datetime import uuid external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css'] a

我想为用户每次在浏览器中打开dash应用程序时创建唯一的会话ID

我一直在遵循教程:

这是我的代码:

import dash
import dash_html_components as html
import dash_core_components as dcc
import flask
import datetime 
import uuid

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = flask.Flask(__name__)
dash_app = dash.Dash(__name__,server=app,url_base_pathname="/",external_stylesheets=external_stylesheets)

def serve_layout():
    session_id = str(uuid.uuid4())
    return html.Div([
    html.Div(session_id, id='session-id', style={'display': 'none'}),
    html.Div(dcc.Input(id="input_session_id",type="text",value=session_id))
    ])
dash_app.layout = serve_layout()

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True, port=80)
如果我使用不同的计算机,会话ID似乎是不同的,但是如果我使用同一台计算机,会话ID将保持不变


是否有一种方法可以在用户每次打开dash应用程序的url时生成唯一的会话?

显然,问题出在这一行:
dash\u app.layout=service\u layout()
您必须在没有括号的情况下使用它:

dash_app.layout = serve_layout
实际上,您分配的不是函数,而是在第一次页面加载时调用一次函数的结果