Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Como funciona HttpResponse

Estas en el tema de Como funciona HttpResponse en el foro de Python en Foros del Web. Hola a todos buenas tardes. Actualmente estoy comenzando a leer tutoriales sobre Django y tengo una consulta sobre el siguiente ejemplo: Estoy leyendo un ejemplo ...
  #1 (permalink)  
Antiguo 04/04/2015, 12:27
 
Fecha de Ingreso: diciembre-2012
Ubicación: Lima
Mensajes: 37
Antigüedad: 11 años, 11 meses
Puntos: 0
Pregunta Como funciona HttpResponse

Hola a todos buenas tardes.

Actualmente estoy comenzando a leer tutoriales sobre Django y tengo una consulta sobre el siguiente ejemplo:

Estoy leyendo un ejemplo y e agregado un comentario de lo que entendí para lo que funciona cada parte del código, siento que he entendido correctamente todo (eso espero) hasta la parte final en la cual el método retorna "HttpResponse"

Lo que no entiendo es si en la primera linea instancie una clase como en la linea final " return HttpResponse(html)" yo le paso argumentos a la clase importada, según lo que se (que no es mucho XD) una clase no recibe parámetros pero a mi entender esto es lo que esta pasando en este linea.
Por favor me podrian explicar como en si funciona el codigo en la linea final. " HttpResponse() " en verdad esta funcionando como objeto, o algo asi

Muchas gracias de ante mano.

Código Python:
Ver original
  1. #importamos la clase HttpResponse del módulo django.http
  2. from django.http import HttpResponse
  3.  
  4. #importamos el módulo datetime de la biblioteca estandar de Python.
  5. import datetime
  6.  
  7. #definimos la funcion de vista "current_datetime"
  8. def current_datetime(request):
  9.     #almacenamos el valor de metodo "now" dentro
  10.     #de la variable
  11.     fecha = datetime.datetime.now()
  12.     #variable que contiene la respuesta
  13.     html = "<html><body>It is now %s.</body></html>" % fecha
  14.     return HttpResponse(html)
__________________
**********
I can do it !!!
**********
  #2 (permalink)  
Antiguo 04/04/2015, 16:55
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 10 meses
Puntos: 18
Respuesta: Como funciona HttpResponse

asi es !!! muy probablemente sea una clase o una funcion esta lo que hace es mostrar una salida al usuario entiendase como salida una pagina html, un javascript, un video, un audio.

tienes tambien que entender que devuelve una respuesta del protoloco http por lo que puedes modificar toda la respuesta http como decir que la pagina no se encontro osea un error 404 como las plantillas de wordpress o las paginas de error 404 que se hacen con apache y mod rewrite + php

de alli su nombre http = protocolo http y si traduces Reponse = Respuesta en español seria RespuestaHttp
  #3 (permalink)  
Antiguo 04/04/2015, 17:21
 
Fecha de Ingreso: diciembre-2012
Ubicación: Lima
Mensajes: 37
Antigüedad: 11 años, 11 meses
Puntos: 0
Pregunta Respuesta: Como funciona HttpResponse

Gracias por la explicación minimal.

Si comprendo que el mensaje de retorno es un mensaje Http. Lo que no logro entender correctamente es como HttpResponse() al ser una clase acepta un parametro, si se supone que las clases no aceptan parametros (segun me entender de clases).

Y si en este caso HttpResponse(html) esta funcionando como una funcion como poder darme cuenta
__________________
**********
I can do it !!!
**********
  #4 (permalink)  
Antiguo 05/04/2015, 11:28
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 10 meses
Puntos: 18
Respuesta: Como funciona HttpResponse

porque en realidad si recibe un parametro lo que debe pasar es que ella internamente o en alguna parte del framework deben llamar por ejemplo a un metodo llamado mostrar pagina en este caso el framework busca ese codigo y lo ejecuta. lo que pasa es que el usuario final no ve esto solo escribe codigo y el programa ejecuta ese metodo (mostrar pagina) internamente de forma automatizada. eso se conoce como encapsulamiento.

Cuando creas una clase por ejemplo un form y lo heredas en django o python le puedes pasar parametros sobrescribiendo el metodo init.

a medida que pase el tiempo de uso con este framework veras que algunas clases tiene parametros en forma de arrays (entiendame el que viene de PHP o c++,etc..) o listas. por lo tanto puedes agregar todos los parametros que vos quieras evidentemente porque tu lo estas programando.

en realidad si te fijas HttpResponse() ese "()" es una instanciacion o una llamada a un metodo.

en php seria algo parecido a esto
Código PHP:
Ver original
  1. use framework/http/HttpResponse;
  2. ......
  3. .....
  4.  
  5. function VerPaginaHome ($nombre)
  6. {
  7.  ........
  8.  .....
  9.  ..
  10.  return new HttpResponse($nombre);
  11. }


entoces internamente en algun lado dentro del codigo.. del framework (sin importar que tan abstracto y sumamente rejodido de entender que si mvc singleton o framework halame la ver....)

Código PHP:
Ver original
  1. .......
  2. ......
  3. $MiMostradorDeVista->run(); //--> ejecuta la vista, tambien es aqui donde el 90% de los programadores se queda y se obsfusca comienza ha estudiar que mvc, silex, que si django vs android y se lanza a una cruzada como en la edad media XD
  4. ...
  5. .......
  6. ....

y para finalizar dentro del metodo run.....


Código PHP:
Ver original
  1. class MiMostradorDeVista
  2. {
  3.  $ClaseQueManejapartronSingleTon;
  4. function run()
  5. {
  6.  $view_name = $this->ClaseQueManejapartronSingleTon->DameLAVista();
  7.  /***** otros patrones metodos de programacion, reglas de validacion y fumadas locas que nada mas se les ocurren al equipo de desarrollo  **/
  8.  return view_name->show_my_view(); /* aqui!!!!!! se ejecuta HttpResponse */
  9. }
  10. }

finalmente de algun modo extraño aunque no lo veas por la cantidad herencias y interfaces, traits y patrones abstraciones que un simple mortal no ve

Código PHP:
Ver original
  1. class HttpResponse
  2.  
  3. {
  4.  function show_my_view()
  5.  {
  6.  .....
  7. ....
  8. ...
  9.  /*aca es donde pasa los codigos a la vista variables y sucede la magia + esas cosas  */
  10. /* puede que este metodo no este en esta misma clase puede estar en algun recondito lugar del framework escondido debajo de una piedra en marte y tu hehehe estas en la tierra y por eso no se ve xD*/
  11.  }
  12. }

Última edición por minimal; 05/04/2015 a las 12:45
  #5 (permalink)  
Antiguo 05/04/2015, 13:57
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 8 meses
Puntos: 1329
Respuesta: Como funciona HttpResponse

Los constructores de clases claro que aceptan parámetros, por lo menos en casi todos los lenguajes que conozco. Y si, HttpResponse es una clase.

Si no sabes lo que es una request y una response entonces quizá deberías leer un poco más de conceptos básico de web.

Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: django, gui
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:41.