Diferencia entre revisiones de «Usuario:Lmorillas/desarrollo web servidor/flask/ejemplo completo»
De WikiEducator
(→Mensajes específicos de error) |
(→Enviando correo) |
||
Línea 111: | Línea 111: | ||
== Enviando correo == | == Enviando correo == | ||
+ | * flask-mail | ||
+ | pip install flask-mail | ||
+ | <source lang="python"> | ||
+ | from flask.ext.mail import Message, Mail | ||
+ | |||
+ | # configuración | ||
+ | MAIL_SERVER = "smtp.gmail.com" | ||
+ | MAIL_PORT = 465 | ||
+ | MAIL_USE_SSL = True | ||
+ | MAIL_USERNAME = 'dwesdaw@gmail.com' # en mi ejemplo | ||
+ | MAIL_PASSWORD = 'tu password' | ||
+ | |||
+ | def contacto(): | ||
+ | form = ContactForm() | ||
+ | |||
+ | ... | ||
+ | else: | ||
+ | msg = Message(form.asunto.data, sender='dwesdaw@gmail.com', | ||
+ | recipients=['destinatario']) | ||
+ | msg.body = """ | ||
+ | From: %s <%s> | ||
+ | %s | ||
+ | """ % (form.nombre.data, form.email.data, form.mensaje.data) | ||
+ | |||
+ | mail.send(msg) | ||
+ | return render_template('contacto.html', exito=True, nombre = form.nombre.data ) | ||
+ | ... | ||
+ | </source> | ||
== Exito en email == | == Exito en email == |
Revisión de 10:22 9 nov 2013
Previo
Seguiremos los siguientes tutoriales:
Repositorio de código de clase:
|
Estructura inicial
* Crear proyecto en eclipse
Tip: Estructura inicial
|
Páginas estáticas. Home y about
layout.html home.html about.html
Tip: Páginas estáticas
|
Formulario de contacto
Tip: Páginas estáticas
|
Estilo en formulario de contacto
|
Validación de formularios
|
Mensajes de error
Tip: Mensajes de error
|
Mensajes específicos de error
{% for mensaje in form.nombre.errors %} <div class="flash">{{ mensaje }}</div> {% endfor %} {% for mensaje in form.email.errors %} <div class="flash">{{ mensaje }}</div> {% endfor %} {% for mensaje in form.asunto.errors %} <div class="flash">{{ mensaje }}</div> {% endfor %} {% for mensaje in form.mensaje.errors %} <div class="flash">{{ mensaje }}</div> {% endfor %} |
Enviando correo
- flask-mail
pip install flask-mail
from flask.ext.mail import Message, Mail # configuración MAIL_SERVER = "smtp.gmail.com" MAIL_PORT = 465 MAIL_USE_SSL = True MAIL_USERNAME = 'dwesdaw@gmail.com' # en mi ejemplo MAIL_PASSWORD = 'tu password' def contacto(): form = ContactForm() ... else: msg = Message(form.asunto.data, sender='dwesdaw@gmail.com', recipients=['destinatario']) msg.body = """ From: %s <%s> %s """ % (form.nombre.data, form.email.data, form.mensaje.data) mail.send(msg) return render_template('contacto.html', exito=True, nombre = form.nombre.data ) ...
Exito en email
Menú contactos
Configuración base de datos
Modelo de usuario
Página de perfil
Entrar y salir
Despliegue en Apache
Despliegue en Heroku
Configuración
conf.py
SECRET_KEY = '\x84\xed\xca\xe36\x8d\x17\xd4\xb3X\xfd1\xdfJx\xc6\xe9\xcf\x00\xdf\x9e \xa9l' MAIL_SERVER = "smtp.gmail.com" MAIL_PORT = 465 MAIL_USE_SSL = True MAIL_USERNAME = 'dwesdaw@gmail.com' # en mi ejemplo MAIL_PASSWORD = 'tu password' SQLALCHEMY_DATABASE_URI = 'mysql://userflask:*******@localhost/appFlask'
app.py
from conf import * ... app = Flask(__name__) app.config.from_object(__name__) ...
Documentación adicional