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 :
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&eacuteter</title>
<link rel="stylesheet" href="../css/css_lien.css" />
</head>
<body>
<center>
<h2 class="suivi"> Suivi cath&eacuteter </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)
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
 
#!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>')
Comme on voit ce code id va chercher les données dans un fichier csv

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 code Je suis preneur de toute les remarques