Mon dernier projet en Flet demandera la mise en œuvre de DatePicker. Nous avons l'exemple qui fournit la documentation officielle de Flet.
import datetime import flet as ft def main(page: ft.Page): page.horizontal_alignment = ft.CrossAxisAlignment.CENTER def handle_change(e): page.add(ft.Text(f"Date changed: {e.control.value.strftime('%Y-%m-%d')}")) def handle_dismissal(e): page.add(ft.Text(f"DatePicker dismissed")) page.add( ft.ElevatedButton( "Pick date", icon=ft.icons.CALENDAR_MONTH, on_click=lambda e: page.open( ft.DatePicker( first_date=datetime.datetime(year=2023, month=10, day=1), last_date=datetime.datetime(year=2024, month=10, day=1), on_change=handle_change, on_dismiss=handle_dismissal, ) ), ) ) ft.app(main)
La documentation ne précise pas si les propriétés first_date et last_date sont actualisées par défaut avant chaque exécution de l'application. Comme nous compilons une application et les paramètres de first_date et last_date sont conservés comme dans le code précédent, est-ce que cela pourrait générer des erreurs au moment de sélectionner des dates valides dans le futur ?
Mon application est destinée à réaliser le scraping sur X (Twitter) entre deux dates déterminées. Pour le rendre intuitif et facile à utiliser (comme l'application est compilée et exécutable), révisez le code en vous assurant que les paramètres first_date et last_date conservent les valeurs attribuées au moment de l'écriture. l'application. Si dentro de un año, quelqu'un qui veut gratter hasta ayer, ¿podría hacerlo? Comment pouvons-nous assurer la sécurité des paramètres dynamiques pour que la temporalité soit calculée à partir du moment de l'exécution ?
Avant la chose, la résolution de cette manière :
import datetime import flet as ft # Crear una variable para la fecha actual de la ejecución today = datetime.datetime.now() def main(page: ft.Page): page.horizontal_alignment = ft.CrossAxisAlignment.CENTER def handle_change(e): page.add(ft.Text(f"Date changed: {e.control.value.strftime('%Y-%m-%d')}")) def handle_dismissal(e): page.add(ft.Text(f"DatePicker dismissed")) page.add( ft.ElevatedButton( "Pick date", icon=ft.icons.CALENDAR_MONTH, on_click=lambda e: page.open( ft.DatePicker( # Configuramos las variables para que un calendario válido desde hace un año a hoy y durante un año a futuro first_date=datetime.datetime(year=today.year - 1, month=today.month, day=today.day), last_date=datetime.datetime(year=today.year 1, month=today.month, day=today.day), on_change=handle_change, on_dismiss=handle_dismissal, ) ), ) ) ft.app(main)
De cette façon, nous nous assurons que indépendamment du moment lors de l'exécution de l'application (compilée ou non), les dates sélectionnables dans le calendrier tendront à un registre temporel configurable en tant que paramètre initial de l'exécution même.
Cette application est également utile pour mettre en œuvre des fonctionnalités spécifiques qui nécessitent des limitations pour les demandes sélectionnables, afin de permettre de sélectionner uniquement avant le jour d'aujourd'hui, afin que vous n'ayez pas tendance à choisir des demandes à l'avenir.
Par exemple, dans mon application de scraping, qu'est-ce qui a tendance à permettre des données configurables dans le futur lorsque la zone est de copier les informations du passé ?
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3