Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Адрес (route)соединяется с view(который вроде как контроллер), и там обрабатывается.
в данном случае все вызовы передаются в единый обработчик, скажем, index, который и занимается переходами между состояниями
self.fsm_trans = {
# 1
'init_logo':{'type':'Show','methods':[self.fsm_logo_show]},
# 2
'logo_logo':{'type':'Show','methods':[self.fsm_logo_show]},
'pg1_prj_select_page':{'type':'Show','methods':[self.fsm_project_set_dir,
self.fsm_diag_files_rm,
self.fsm_project_page_algor_start,
self.fsm_set_cur_page_algor_first_page,
self.fsm_set_cur_block_first_block_of_page,
self.fsm_create_cur_page_diag_files,
self.fsm_page_show]},
@show
def init_logo(self):
return self.logo_show()
@show
def logo_logo(self):
return self.logo_show()
@show
def pg1_prj_select_page(self):
self.project_set_dir()
self.diag_files_rm()
self.project_page_algor_start()
self.set_cur_page_algor_first_page()
self.set_cur_block_first_block_of_page()
self.create_cur_page_diag_files()
return self.page_show()
@show
def x():
self.meth()
Опыт применения КА (FSM) в веб-интерфейсе на Python