Discussion:
[pyar] Estructura de planificación de proyecto
Germán Alberto Gimenez Silva
2018-07-11 18:46:50 UTC
Permalink
Hola, consulta acerca de como fuinciona Python 3 con respecto a los modulos.

(vengo de usar ruby, php, c, ese tipo de lenguajes)

Quiero hacer una applicación de tipo MVC
para lo cual cree este árbol de directorios:

*app*
* assets*
* controller*
* application_controller.py*
* models*
* user.php*
* helpers*
* tools.py*
* view*
*config*
* boot.py*
* routes.py*

bien, la consulta es yo incluyo en boot.py el controlador
boot.py
| from app import controller.application_controller
bien yo ahí incluyo application_controller

pero cuando hago,

| import routes

entonces no puedo llamar metodos de application controller

¿como se solucionaría para poder incluir librerias que se pueden usar desde
la aplicación?

Entiendo que import corre el script como módulo y no que incluye y ejecuta
el archivo para que pueda usarse los métodos desde los archivos que importo
sucesivamente.

¿se entiende? puedo ampliar.
¿sugerencias?
--
*Online Resume: http://ggerman.github.io/ <http://ggerman.github.io/>*

*Giménez Silva Germán Alberto*

*http://www.eosweb.info/ <http://www.eosweb.info/>*
Leandro Poli
2018-07-18 11:09:52 UTC
Permalink
*Namespaces are one honking great idea -- let's do more of those!*

Tenés un problema con los namespaces. Cambiá por esto:

/import //app.//controller.application_controller as application_controller/

y también,

/import routes as routes_aplicacion

/Ahora podés usar /application_controller//.controlar( ) /y
/routes_aplicacion.rutear( )/, por decirte un ejemplo

El /import/ ejecuta el módulo si:

· el código no está dentro de una función

· no tiene algo que verifique si se usa como módulo o como programa

/if __name__ == "__main__"://
//    pass//
//    #Hacer algo

/Saludos

Leandro
//
Post by Germán Alberto Gimenez Silva
Hola, consulta acerca de como fuinciona Python 3 con respecto a los modulos.
(vengo de usar ruby, php, c, ese tipo de lenguajes)
Quiero hacer una applicación de tipo MVC
/*
*/
/*app*/
/*assets*/
/*controller*/
/*application_controller.py*/
/*models*/
/*user.php*/
/*helpers*/
/*tools.py*/
/*view*/
/*config*/
/*boot.py*/
/*routes.py*/
bien, la consulta es yo incluyo en boot.py el controlador
boot.py
| from app import controller.application_controller
bien yo ahí incluyo application_controller
pero cuando hago,
| import routes
entonces no puedo llamar metodos de application controller
¿como se solucionaría para poder incluir librerias que se pueden usar
desde la aplicación?
Entiendo que import corre el script como módulo y no que incluye y
ejecuta el archivo para que pueda usarse los métodos desde los
archivos que importo sucesivamente.
¿se entiende? puedo ampliar.
¿sugerencias?
--
/*Online Resume:* http://ggerman.github.io//
*/Giménez Silva Germán Alberto/*
/http://www.eosweb.info/
/
/
/
_______________________________________________
Sitio web: http://www.python.org.ar/
Para administrar la lista (o desuscribirse) entrar a http://listas.python.org.ar/listinfo/pyar
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
Loading...