elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  MVC en python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: MVC en python  (Leído 7,099 veces)
the_jocker

Desconectado Desconectado

Mensajes: 41



Ver Perfil
MVC en python
« en: 15 Octubre 2013, 23:32 pm »

Buenas al foro, empecé un proyecto pequeño en python para hacer presupuestos, ya tenía en mente trabajar con el lenguaje, pero nunca hice nada en serio, entonces ahora es el momento. Como vengo de aprender java en la facultad, orientado hacia escritorio y con el MVC, quiero trabajar de está manera en python.
Se me complica el hecho de que en java los módulos y paquetes se manejan muy fácil. En python trato de hacerlo de la misma manera y no puedo, es decir manejar de esa manera sencilla los paquetes. Si alguno ya trabaja de ésta manera en escritorio con python y algún gui, no importa cual, por favor una ayuda, ya que no consigo trabajar de la misma manera, no creo que la arquitectura de trabajo tenga algo que ver con el lenguaje.
Un ejemplo de como quiero trabajar:

App/
.......setup.py
.......controlador/
........................__init__.py
........................Controlador.py
......Modelo/
..................__init__.py
..................modelo.py
......Vista/
...............__init_.py
..............vista.py



Creo que se entiende, pero no puedo llamar un método de la vista con el controlador, y no puedo correr el setup porque no encuentra el módulo de la vista, en fin.

Pd: ya probé con import, from-import y nada.

Desde ya gracias.


« Última modificación: 16 Octubre 2013, 07:08 am por EleKtro H@cker » En línea

Once

Desconectado Desconectado

Mensajes: 120


Ver Perfil WWW
Re: MVC en python
« Respuesta #1 en: 16 Octubre 2013, 03:25 am »

Desde setup.py puedes importar Controlador.py, modelo.py y vista.py de la siguiente forma:

Código
  1. from controlador import Controlador
  2. from Modelo import modelo
  3. from Vista import vista
  4.  

Saludos!


En línea

the_jocker

Desconectado Desconectado

Mensajes: 41



Ver Perfil
Re: MVC en python
« Respuesta #2 en: 16 Octubre 2013, 03:37 am »

Si, es cierto, 11Sep, los libros y el propio lenguaje dice que de esa manera debería hacerse, pero no logro dar con una solución favorable.
Y para ser un poco más preciso, como hago para llamar desde el controlador, si necesito que, debido a un evento cualquiera, la vista haga algo. Lo que probé es:

controlador.py
Código
  1. from Vista import vista
  2.  
  3.  
  4. class Controller:
  5.  
  6.    def __init__(self):
  7.          self.Saludar()
  8.  
  9.    def Saludar(self):
  10.          vista.Mensaje
  11.  

Creo que se entiende, si pulsa un botón, el controlador toma el evento y ejecuta la función.
Pero me da error, que no hay un modulo con nombre Mensaje. Y así una banda de cosas.

Gracias por tomarte un tiempo.
En línea

Once

Desconectado Desconectado

Mensajes: 120


Ver Perfil WWW
Re: MVC en python
« Respuesta #3 en: 16 Octubre 2013, 03:42 am »

Supongo que Mensaje es un función o una clase, así que:

Código
  1. def Saludar(self):
  2.    vista.Mensaje()

Saludos!
En línea

the_jocker

Desconectado Desconectado

Mensajes: 41



Ver Perfil
Re: MVC en python
« Respuesta #4 en: 16 Octubre 2013, 19:13 pm »

Es cierto, de esa manera es posible, pero tuve que hacer todo de nuevo y con un ide, como ninja-ide, pero funciona de ésta manera, gracias por responder, ahora la ultima pregunta, y creo que la más importante para mi, ya que está comprobado el poder de java en las aplicaciones, gracias a la maquina, ésta manera de trabajo parece ser la correcta, ahora, en la serpiente, es recomendable, ya que en un proyecto a gran escala, y como es interpretado, tener un controlador que tenga muchas lineas de codigo, y que maneje todo, sería una buena practica para trabajar?.
En línea

Once

Desconectado Desconectado

Mensajes: 120


Ver Perfil WWW
Re: MVC en python
« Respuesta #5 en: 19 Octubre 2013, 00:26 am »

Es cierto, de esa manera es posible, pero tuve que hacer todo de nuevo y con un ide, como ninja-ide, pero funciona de ésta manera, gracias por responder, ahora la ultima pregunta, y creo que la más importante para mi, ya que está comprobado el poder de java en las aplicaciones, gracias a la maquina, ésta manera de trabajo parece ser la correcta, ahora, en la serpiente, es recomendable, ya que en un proyecto a gran escala, y como es interpretado, tener un controlador que tenga muchas lineas de codigo, y que maneje todo, sería una buena practica para trabajar?.

Sólo te puedo aconsejar desde mi experiencia (también estoy trabajando en un proyecto algo grande) el MVC y separar el proyecto en módulos es una buena idea, cuando tienen que cambiar algo lo haces en el módulo específico y no tienes que modificar todo. En mi proyecto trabajo además con una GUI en QT4 y ésta fue la mejor forma de trabajar que encontré, me ahorró muchos dolores de cabeza.

Saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
(Python)Existen ventanas de entrada y salida de datos en python « 1 2 »
Scripting
tonilogar 11 15,611 Último mensaje 29 Noviembre 2009, 00:49 am
por tonilogar
[python]VideoTraining Aprende A Programar En Python desde 0 « 1 2 3 »
Scripting
juh 22 17,492 Último mensaje 16 Octubre 2010, 13:12 pm
por Pere Navarro
[Python] ¿Por qué Python 2.7.3 admite la sintaxis de Python 3? « 1 2 »
Scripting
Yidu 10 10,612 Último mensaje 10 Febrero 2013, 21:46 pm
por Eleкtro
[Python 2.7.3] ¿Cómo instalar un entorno visual para Python?
Scripting
Yidu 6 8,295 Último mensaje 25 Febrero 2013, 04:21 am
por The_Mushrr00m
[Python/Tkinter](Kyurem v2.0)Consola de comandos hecha en python
Scripting
AdeLax 0 4,285 Último mensaje 9 Agosto 2013, 22:45 pm
por AdeLax
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines