Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

229
Vistas
Dash datepicker max_date_allowed como fecha actual no funciona correctamente

Estoy usando dash para mi tablero y está implementado en AWS Elastic Beanstalk.
Hay un problema en Datepicker. Estoy usando max_date_allowed=dt.date(dt.now())

Entonces, el día que se implementó la aplicación, todo funcionó bien. Pero a partir del día siguiente, max_date_allowed se apega a la fecha, la aplicación se implementa y no podemos elegir una fecha más allá de la fecha en que se implementa la aplicación.
Vuelve a funcionar solo si elegimos en el entorno, reiniciar los servidores de aplicaciones desde el menú de acciones.

¿Cuál podría ser el problema aquí?

A continuación se muestra el fragmento del selector de fecha que utilizamos.

 dcc.Tabs([ dcc.Tab(label='DDR by Date (Default DDR - Last Day)', value='tab-1', children=[ dcc.DatePickerSingle( id='my-date-picker-single', min_date_allowed=dt(2020, 1, 18), max_date_allowed=dt.date(dt.now()), initial_visible_month=dt.date(dt.now()), placeholder='Select a date', display_format='DD/MM/YYYY' ), html.Button(id='submit-button', n_clicks=0, children='Submit'), html.Div(id='output-container-date-picker-single') ]),
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Suponiendo que el fragmento de código sea parte de la definición del diseño de la aplicación, el comportamiento que ve es intencionado. Este código se ejecuta cuando se inicia la aplicación y, por lo tanto, dt.date(dt.now()) se evalúa solo en este momento.

Hay (al menos) dos formas comunes de lograr lo que quieres,

  • Envuelva su definición de diseño en una función y asigne la instancia de función como el diseño de la aplicación. El código sería algo como app.layout = make_my_layout_function . Al asignar una función, el código de diseño de la aplicación se evaluará cada vez que un usuario visite su página. Consulte más detalles en la documentación (desplácese hasta "Actualizaciones al cargar la página").

  • Asigne el valor predeterminado no estático, en su caso max_date_allowed , a través de una devolución de llamada. Dado que las devoluciones de llamada se ejecutan en la carga de la página (a menos que lo impida activamente), el valor se actualizará según lo previsto.

over 4 years ago · Santiago Trujillo Denunciar

0

Mi enfoque para esto sería usar un intervalo

Establezca el intervalo para que se dispare cada hora y luego use una devolución de llamada para actualizar max_date_allowed

Adoptar este enfoque eliminará el requisito de que el usuario vuelva a cargar la página para actualizar

p.ej

 @app.callback(Output("date-picker", "max_date_allowed"), [Input("interval_hours", "n_interval")]) def update_max_date_allowed(n): return dt.date(dt.now())
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda