def contacto_view(request): info_enviado = False email = "" titulo = "" texto = "" if request.method == "POST": formulario = contactForm(request.POST) if formulario.is_valid(): info_enviado = True email = formulario.cleaned_data["Email"] titulo = formulario.cleaned_data["Titulo"] texto = formulario.cleaned_data["Texto"] # Config para enviar al correo to_admin = "*****@*****.**" html_content = "Informacion Recivida de [%s] <br><br>****Mensaje***<br><br>%s" % (email, texto) msg = EmailMultiAlternatives("Correo de Contacto", html_content, "*****@*****.**", [to_admin]) msg.attach_alternative(html_content, "text/html") # Definimos el contenido como html msg.send() # Envia el correo else: formulario = contactForm() ctx = {"form": formulario, "email": email, "titulo": titulo, "texto": texto, "info_enviado": info_enviado} return render_to_response("home/contacto.html", ctx, context_instance=RequestContext(request))
def contacto_view(request): info_enviado = False #definir si se envio la informacion o no se envio email = "" titulo = "" texto = "" if request.method == "POST": formulario = contactForm(request.POST) # obtenemos los datos del form request.POST if formulario.is_valid(): info_enviado = True email = formulario.cleaned_data["Email"] titulo = formulario.cleaned_data["Titulo"] texto = formulario.cleaned_data["Texto"] #configuracion de envio de mensaje por correo electronico to_admin = "*****@*****.**" html_content = "Informacion recibida <br>**Mensaje**<br> %s" % (texto) msg = EmailMultiAlternatives("Correo de Contacto" ,html_content, '*****@*****.**',[to_admin]) #agarra django la conf del settings.py #[email protected] quien lo envio msg.attach_alternative(html_content , 'text/html') #definimos el contenido como html msg.send() # lo enviamos else: formulario = contactForm() formulario = contactForm() #creamos el formulario para enviarlo ctx = { "form" : formulario , 'email' : email , 'titulo' : titulo , 'texto' : texto , 'info_enviado' : info_enviado } return render_to_response("home/contacto.html", ctx , context_instance= RequestContext(request)) #La vista #La vista se presenta en forma de funciones en Python, su propósito es determinar que datos serán visualizados, #entre otras cosas más que iremos viendo conforme avanzamos con el curso. El ORM de Django permite escribir código #Python en lugar de SQL para hacer las consultas que necesita la vista. La vista también se encarga de tareas conocidas #como el envío de correo electrónico, la autenticación con servicios externos y la validación de datos a través de formularios. #Lo mas importante a entender con respecto a la vista es que no tiene nada que ver con el estilo de presentación de los datos, #sólo se encarga de los datos, la presentación es tarea de la plantilla. #NOTA!! # La plantilla recibe los datos de la vista y luego los organiza para la presentación al navegador web. Las etiquetas que Django # usa para las plantillas permiten que sea flexible para los diseñadores del frontend, incluso tiene estructuras de datos como if, # por por si es necesaria una presentación lógica de los datos, estas estructuras son límitadas para evitar un desorden poniendo cualquier tipo de código Python.