Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

134
Views
Obtenga el encabezado de solicitud en Plotly Dash ejecutándose en gunicorn

Esto está relacionado con esta publicación , pero la solución no funciona.

Tengo autenticación de SSO que pasa un encabezado de solicitud con un nombre de usuario. En una aplicación de Flask, puedo recuperar el nombre de usuario usando Flask.request.headers['username']. En Dash me sale un error del servidor. Aquí está la aplicación Dash: está usando gunicorn.

 import dash from dash import html import plotly.graph_objects as go from dash import dcc from dash.dependencies import Input, Output import flask from flask import request server = flask.Flask(__name__) # define flask app.server app = dash.Dash(__name__, serve_locally=False, server=server) username = request.headers['username'] greeting = "Hello " + username app.layout = html.Div(children=[ html.H1(children=greeting), html.Div(children=''' Dash: A web application framework for Python. '''), dcc.Graph( id='example-graph', figure={ 'data': [ {'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'}, {'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'}, ], 'layout': { 'title': 'Dash Data Visualization' } } ) ]) if __name__ == '__main__': app.run_server()

Cualquier ayuda sería muy apreciada.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Solo puede acceder al objeto de request desde dentro de un contexto de solicitud. En la terminología de Dash, eso significa desde dentro de una devolución de llamada . Aquí hay un pequeño ejemplo,

 from dash import html, Input, Output, Dash from flask import request app = Dash(__name__) app.layout = html.Div(children=[ html.Div(id="greeting"), html.Div(id="dummy") # dummy element to trigger callback on page load ]) @app.callback(Output("greeting", "children"), Input("dummy", "children")) def say_hello(_): host = request.headers['host'] # host should always be there return f"Hello from {host}!" if __name__ == '__main__': app.run_server()
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!