def __init__(self, root): self.is_dirty = False self.top = root root["menu"] = self.build_menus(root) main_win = self.build_notebook(root) main_win.pack(fill="both", expand=True) self.top.protocol("WM_DELETE_WINDOW", self.ev_close) self.top.title("Lending Libaray") data.init_db() # use default file self.items = data.get_items() self.members = data.get_members() self.populate_item_list() self.populate_member_list()
def get_db(): """ Opens a new database connection if one does not exist for our current request context (the g object helps with this task) 在get_db()方法调用中还有一点Flask特性.这个函数在没有连接存在时会打开一个新的连接,而g变量在Flask中是一个特殊对象, 它只对激活请求有效.这在不同的请求对象间保持了数据的一致性. :return: """ if not hasattr(g, "sqlite_db"): lendydata.init_db() g.sqlite_db = lendydata.db return g.sqlite_db