J'ai un script qui fonctionne sous Flask mais suite à un pb de versioning avec mon raspberry, je souhaite
le propulser avec Bottle.
Mon probleme est d' afficher des images insérées dans un template. J'ai surement un pb de routing et peut etre aussi de mimetype associé.
Le code test simule une page web où un voyageur obtiens des points en visitant des pays, la photo s' affiche, puis il s'enregistre, son profil est mémorisé dans un fichier csv (vu que je bugue déjà j'ai laissé sqlite de côté).
voici le code Flask ( j'ai mis seulement Paris pour raccourcir j'avais omis de modulariser) .
#! /usr/bin/env python3
# -*- coding:utf-8 -*-
from flask import Flask
from flask import render_template
from flask import request
from flask.ext.wtf import Form
from wtforms import StringField, SubmitField
from wtforms.validators import Required
from datetime import date, time, datetime,timedelta
import datetime
import csv
class Visites():
def __init__(self):
self.paris = 0
self.NY = 0
self.shangai = 0
self.totalAller = 0
self.statut = 'amateur'
self.voyageur = 'nom_inconnu'
self.mdp_input = ''
mes_Visites = Visites()
def mise_a_jour():
mes_Visites.totalAller = (mes_Visites.paris+mes_Visites.NY+mes_Visites.shangai+mes_Visites.CT+mes_Visites.sydney+mes_Visites.dubai+mes_Visites.moscou+mes_Visites.agra+mes_Visites.rio)
if mes_Visites.totalAller > 4:
mes_Visites.statut = 'PREMIUM'
maintenant = datetime.datetime.now()
d = maintenant
def graver():
fname = "out.csv"
#file = open(fname, "wb")
file = open('out.csv', 'a+', newline='')
try:
#
# Création de l'''écrivain'' CSV.
#
writer = csv.writer(file)
#
# Écriture de la ligne d'en-tête avec le titre
# des colonnes.
writer.writerow( ('Pseudo','satut', 'Points','MDP') )
#
# Écriture des quelques données.
writer.writerow( (mes_Visites.voyageur,mes_Visites.statut,mes_Visites.totalAller,mes_Visites.mdp_input) )
finally:
#
# Fermeture du fichier source
#
file.close()
app = Flask(__name__)
@app.route('/')
def accueil():
mots = ["paris", "NY", "shangai","CT", "sydney","dubai","moscou","agra"]
mise_a_jour()
return render_template('accueil.html', titre="Bienvenue !", mots = mots, la_date=d, mes_Visites=mes_Visites)
@app.route('/paris',methods=['GET'])
def paris():
mes_Visites.paris += 1
mes_Visites.totalAller = (mes_Visites.paris+mes_Visites.NY+mes_Visites.shangai+mes_Visites.CT+mes_Visites.sydney+mes_Visites.dubai+mes_Visites.moscou+mes_Visites.agra+mes_Visites.rio)
return render_template('paris.html')
@app.route('/smiley',methods=['GET','POST'])
def smiley():
if request.method == 'GET':
return render_template('smiley.html')
elif request.method == 'POST':
mes_Visites.voyageur = request.form['firstname']
return render_template('POSTAL_OK.html', mes_Visites=mes_Visites)
@app.route('/REGISTER',methods=['GET','POST'])
def REGISTER():
if request.method == 'GET':
return render_template('REGISTER.html',mes_Visites=mes_Visites)
elif request.method == 'POST':
mes_Visites.mdp_input = request.form['mdp_input']
graver()
return render_template('POSTAL_OK.html', mes_Visites=mes_Visites)
if __name__ == '__main__':
app.run(debug=True)here