Diskuze: dynamický import a vytvoření instance
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Built-in funkce getattr() pouze vrací atribut - v prvním případě atribut modulu, ve druhém atribut instance, pro lepší pochopení:
module_name = 'app.models.admin'
class_name = 'AdminModel'
method_name = 'set_name'
parameter = 'Pepina'
parameters = ['Pepina', 'Lojza']
# nahraje modul
module = importlib.import_module(module_name)
# ziska instanci tridy
cls = getattr(module, class_name)
# vytvori objekt zavolanim kontruktoru
instance = cls()
# ziska instanci metody
my_method = getattr(instance, method_name)
# zavola metodu
my_method(parameter)
# zavola metodu se dvema parametry
my_method(*parameters)
Zobrazeno 3 zpráv z 3.