Bonjour,
J'essaie de réaliser un site internet avec Flask. J'utilise Brython pour écrire les scripts en Python et non en JS.
Le problème est que Flask ne prend pas en compte mes scripts. Quand je lance la page Internet le script s'exécute et quand
je le lance avec Flask il ne s'exécute pas.
Mon script brython.js est bien placé dans l'arborescence, je n'ai pas de message d'erreur m'indiquant qu'il n'est pas trouvable.
J'ai essayé de mettre le lien vers un script Brython en ligne. Mon script Python arrive à s'exécuter si je lance la page,
mais si je lance Flask, je n'ai toujours rien.
Ci-dessous mon code de ma page récupéré sur le site Brython et mon code Flask.
Merci pour votre aide.
Code html : 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 <html> <head> <meta charset="iso-8859-1"> <script src="{{ url_for('static', filename='brython.js') }}"></script> <script src="https://cdn.rawgit.com/kikocorreoso/map2wiki/master/src/static/brython_dist.js"></script> </head> <body onLoad="brython({debug:1})"> <script type="text/python"> from browser import document as doc from browser import alert def echo(ev): alert("Salut %s !" %doc["zone"].value) doc["echo"].bind('click', echo) </script> <p>Vous vous appelez : <input id="zone"><button id="echo">click !</button> </body> </html>
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 import csv from flask import Flask, render_template, request # Si le chemin demandé est /Accueil app = Flask(__name__) @app.route('/Accueil') @app.route('/') def Accueil(): return render_template('Parametre.html') # Si le chemin demandé est /Parametre @app.route('/Parametre', methods=['GET', 'POST']) def Parametre(): # S'il s'agit d'une requête POST if request.method == 'POST': valeurpython = request.values["valrequete"] return render_template(valeurpython) # Sinon (s'il s'agit d'une requête GET) else: return render_template('demo2.html') if __name__ == '__main__': app.run(debug=True)
Partager