Acceder a una variable de una clase de un modulo python desde el exterior

Iniciado por Drakaris, 12 Septiembre 2021, 23:36 PM

0 Miembros y 1 Visitante están viendo este tema.

Drakaris


.
├── ClassAdmin
│   ├── ClassAdmin
│   │   ├── __init__.py
│   │   ├── settings.py
│   │   ├── static
│   │   │   ├── css
│   │   │   │   ├── fonts.css
│   │   │   │   ├── pageLogin.css
│   │   │   │   └── styles.css
│   │   │   ├── data.json
│   │   │   ├── fonts
│   │   │   │   └── Allura-Regular.ttf
│   │   │   ├── images
│   │   │   │   ├── ClassAdminLogo.png
│   │   │   │   └── wallpaper.png
│   │   │   └── js
│   │   ├── templates
│   │   │   ├── pageLogin.html
│   │   │   └── src
│   │   │       └── base.html
│   │   ├── urls.py
│   │   ├── views.py
│   │   └── wsgi.py
│   ├── ClassAdmin.sqlite3
│   └── manage.py
└── sources
    └── __init__.py


Buenas, tengo un modulo llamado sources que es una carpeta con el archivo __init__.py, en el propio archivo esta la siguiente clase:
Código (Python) [Seleccionar]

class Environment:
    def __init__(self):
        self.directory = os.environ.get("CLASSADMIN")
    def pathDB(self):
        if platform.system() == "Windows":
            return f"{self.directory}\\ClassAdmin\\ClassAdmin.sqlite3"
        elif platform.system() == "Linux":
            return f"{self.directory}/ClassAdmin/ClassAdmin.sqlite3"
    def pathLog(self,name:str):
        if platform.system() == "Windows":
            return f"{self.directory}/{name}.log"
        elif platform.system() == "Linux":
            return f"/var/log/{name}.log"



Y desde el archivo settings.py haciendo el import quiero acceder a la variable directory que esta en el init de la clase Environment.
Código (Python) [Seleccionar]

from sources import *
STATIC_ROOT = f'{Environment().directory}/ClassAdmin/ClassAdmin/static'

Pero esto me devuelve None
Citar[Errno 2] No such file or directory: 'None/ClassAdmin/ClassAdmin/static/data.json'

Porque pasa esto? si al hacer una clase con una variable self en el init puedes acceder a ella, no entiendo.

Que esta ocurriendo?
Gracias
Lo increible, no es lo que ves, sino como es