
Cómo llamo un atributo desde un main (if __name__ == '__main__')?
Publicado por Camila (2 intervenciones) el 18/10/2021 00:42:20
Hola, soy nueva en programación y estoy haciendo un programa donde cargue un usuario y contraseña e imprima "Existe" o "No existe" dependiendo del Estado del usuario.
El problema es que no se cómo llamar a "usuario" y "password" que están dentro de la clase ingresarFuncion desde el main (donde supongo que "usuario" y "password" son atributos, pero no estoy segura).
Espero que me puedan ayudar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QDialog, QApplication, QMainWindow
from PyQt5.uic import loadUi
from datetime import datetime
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy import Column, Integer, String, DateTime
from sqlalchemy.sql.expression import null
engine = create_engine('postgresql://postgres:649785@localhost/prueba')
datos = declarative_base()
class ingresar(QMainWindow):
def __init__(self):
super(ingresar, self).__init__()
loadUi("ingreso.ui", self)
self.botonIngresar.clicked.connect(ingresarFuncion.db)
class ingresarFuncion(datos):
__tablename__ = "users"
id = Column(Integer(), primary_key=True)
username = Column(String(50), nullable=False, unique=True)
password_db = Column(String(50), nullable=False, unique=True)
created_at = Column(DateTime(), default=datetime.now())
def db(self):
usuario = self.usuario.text()
password = self.password.text()
return usuario, password
Session = sessionmaker(engine)
session = Session()
if __name__ == '__main__':
datos.metadata.drop_all(engine)
datos.metadata.create_all(engine)
user1= ingresarFuncion(username = "user", password_db = "user")
session.add(user1)
session.commit()
users = session.query(ingresarFuncion).filter(
ingresarFuncion.username == usuario
).filter(
ingresarFuncion.password_db == password
)
if users:
print("Existe")
else:
print("No existe")
app=QApplication(sys.argv)
mainwindow=ingresar()
widget =QtWidgets.QStackedWidget()
widget.addWidget(mainwindow)
widget.setFixedWidth(1200)
widget.setFixedHeight(600)
widget.show()
app.exec_()
El problema es que no se cómo llamar a "usuario" y "password" que están dentro de la clase ingresarFuncion desde el main (donde supongo que "usuario" y "password" son atributos, pero no estoy segura).
Espero que me puedan ayudar.
Valora esta pregunta


0