Bonjour à tous,
J'ai un soucis avec un script python mixant python3.8 et html, le tout tournant sous un serveur apache local (xampp). J'ai d'autre page python/html qui tourne sur mon pc sans problème, donc je ne pense pas que mon problème vienne de la ...
Je vous met les parties des scripts posant problème :
et cela nécessite un autre fichier appelé id dont le code est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 #!C:\Users\...\AppData\Local\Programs\Python\Python38-32\python.exe print('content-type: text/html; charset-utf-8\n\n') html=""" <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Suivi cathéter</title> <link rel="stylesheet" href="../css/css_lien.css" /> </head> <body> <center> <h2 class="suivi"> Suivi cathéter </h2> """ print(html) import cgi import cgitb from id import id_suivi form = cgi.FieldStorage() try: print(form.getvalue('patient')) if form.getvalue('patient') == None: #la variable existe mais elle est vide print('la variable patient est vide') id_suivi() #du coup on affiche le formulaire de sélection else: print('la variable patient vaut : {}'.format(form.getvalue('patient'))) #on affiche la variable form.getvalue('patient') except NameError: #la variable form.getvalue('patient') n'existe pas id_suivi() html=""" <br /><br /> <a href ='../Accueil_BDD_CATHEVASC.py'> Retour au menu</a> </body> </html> """ print(html)
Comme on voit ce code id va chercher les données dans un fichier csv
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #!C:\Users\...\AppData\Local\Programs\Python\Python38-32\python.exe # -*- coding: utf-8 -*- def id_suivi(): import pandas as pd form = cgi.FieldStorage() df=pd.read_csv('../result/init.csv', sep=';') nom=df['id'] print('<FORM action="suiviKT.py" method="post">') print('<SELECT id="patient" name="patient"><option value="0">Choisir un patient</option>') for p in enumerate(nom): ligne=df.loc[df['id']==p[1],:] print('<option value="{}"> {}, {}, {}, {}</option>'. format(ligne['id'].mode()[0], p[1], ligne['prenom'].mode()[0], ligne['typeKT'].mode()[0], ligne['numKT'].mode()[0])) print('</SELECT>') print('<button type="submit">Choisir</button>')
Les codes sont volontairement séparés car j'utilise le 'id_suivi()' dans d'autre fichier.
Ce que je veux faire : afficher 'id_suivi' si la variable form.getvalue('patient') n'existe pas ou si celle-ci est vide
Mais ce que j’obtiens avec le code c'est "None la variable patient est vide " mais après il y a une erreur : ca n'affiche pas le formulaire 'id_suivi()'
J'ai également essayé de faire un del form.getvalue('patient') à la fin de mon try mais ca plante ...
Je pense que l'erreur ne doit pas être très compliqué.
Merci beaucoup pour votre aide !
PS : Je débute en python donc il est fort probable qu'il y ait un moyen de faire plus simple sur mon codeJe suis preneur de toute les remarques
Partager