Diferència entre revisions de la pàgina «Email check amb Flask»
		
		
		
		
		
		
		Salta a la navegació
		Salta a la cerca
		
				
		
		
		
		
		
		
		
	
|  (Es crea la pàgina amb «Aquest és un exemple de com treballar amb el microfamework web Flask per Python.   == Intro == Referències: * flask.pocoo.org * [http://flask.pocoo.org/docs/0.11/qui...».) | |||
| Línia 45: | Línia 45: | ||
| I aquí tenim el template: | I aquí tenim el template: | ||
| − | <syntaxhighlight lang=" | + | <syntaxhighlight lang="html4strict"> | 
| <html> | <html> | ||
Revisió del 11:56, 7 nov 2016
Aquest és un exemple de com treballar amb el microfamework web Flask per Python.
Intro
Referències:
- flask.pocoo.org
- Flask Quickstart doc
- Python: introducció ràpida
- Jinja templates
- Desenvolupament d'aplicacions web amb frameworks a cacauet.org
Codi
Aquest és el codi per a l'arxiu .py:
# -*- coding: utf-8 -*-
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/checkemail", methods=["GET","POST"])
def checkemail():
	missatge = "No has enviat cap email encara per comprovar."
	if request.method == "POST":
		email = request.form["email"]
		# quan posem accents cal avisar que és un string unicode amb la "u" a davant
		missatge = "L'email <b>" + email + u"</b> és incorrecte ja que no té una @"
		# busquem que el email contingui al menys una @ i un .
		trobat = 0
		for lletra in email:
			if trobat==0 and lletra=='@':
				trobat = 1
				missatge = "L'email <b>" + email + u"</b> té una @ pero li falta un . del domini posterior"
			elif trobat==1 and lletra=='.':
				trobat = 2
				missatge = "L'email <b>" + email + u"</b> és correcte! (te una @ i un . de domini)"
	return render_template( "checkemail.html", missatge=missatge )
if __name__ == "__main__":
    app.run()
Template
I aquí tenim el template:
<html>
<body>
<h2>Validació de email</h2>
<div class="missatge">
	{{missatge|safe}}
</div>
<br>
<form method="post">
	Introdueix adreça d'email a comprovar: <input type="text" name="email" /><br>
	<input type="submit">
</form>
</body>
</html>

