Python 程序设计 |
您所在的位置:网站首页 › python用户登录界面项目设计描述怎么写 › Python 程序设计 |
【Python 程序设计】-简单系统登录页面设计
目录
【Python 程序设计】-简单系统登录页面设计1、需求分析2、总体设计3、详细设计4、程序运行结果测试与分析5、完整源代码
1、需求分析
系统要有管理员登录、普通用户登录和退出三个选项可供选择 系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user目录下的文件夹中,存储在user.csv中 系统要能够进行欢迎界面显示,登录成功后显示该页面。 系统要能够有写入信息功能,当用户或管理员的文件为空时,则向里面写入信息。 注册界面要能够进行用户名重复提示,当用户注册账户已存在时,进行相应信息的提示。 2、总体设计综合运用Python编程基础、面向对象程序设计,python文件处理、tkinter模块设计等知识要点 流程图: (1)系统具备初始化功能,初始化包含写入管理员用户信息,创建普通用户目录,创建日志目录。 class UserDefinedException(Exception): def __init__(self,eid,message,lineNo): #异常描述 # 初始化管理员 def init():(2)图形界面要求美观大方,具备系统名称显示、用户类型选择、用户名及密码输入、登录及退出按钮、欢迎界面等功能。 # 欢迎界面设计 def welcome(): winlabel = tk.Label(window,text='请选择用户类型:', fg='black',bg='pink',font=("微软雅黑", 15,'bold'))winlabel.place(x=100, y=110)winlabel.configure(width=20,height=4) #设置标签的边框 # 按钮设计 bt_logquit = tk.Button(window, text='退出系统', bg='pink',command=usr_sign_quit) bt_logquit.place(x=200, y=230) bt_admin_login = tk.Button(window, text='管理员登录', bg='pink',command=admin_log_in) bt_admin_login.place(x=110, y=180) bt_user_login = tk.Button(window, text='普通用户登录',bg='pink', command=usr_log_in) bt_user_login.place(x=270, y=180)(3)用户登录信息存储CSV文件,包含用户名、用户类型、登录时间、登录成功/失败标志、备注信息等,以追加写的方式,分别写入管理员登录,普通用户登录和注册的信息。 # 储存用户登录成功信息 def user_csv(): row = [{'用户姓名': user_name.get(), '用户密码': user_pwd.get()}] time1 = [str("\n"+"用户登录时间:" + str(datetime.now()) + "=====")] is_welcome = [str("登录成功!")] with open('test2.csv', 'a', newline='')as f:(4)程序源代码要求关键代码有行注释,函数有IPO注释,类和对象有属性注释、方法注释。 #管理员登录 def admin_log_in(): #管理员登录验证 def admin_loggin(): #普通用户登录 def usr_log_in(): #普通用户登录验证 def user_loggin(): #注册函数 def usr_sign_up(): #确认注册时的相应函数 def sign_up(): #退出的函数 def usr_sign_quit(): (5)源代码中函数建议全部做异常处理,异常信息写日志文件或csv文件,文件以日期命名,异常信息包含:异常发生时间、异常代码、异常描述、异常位置等。将日志文件以当前时间命名并放入mylog的目录中。 # 异常信息写日志 except FileNotFoundError as e: filename = "./users/" + usr_name with open(filename, 'wb') as usr_file: usrs_info = {'u_pwd': user_pwd.get(), 'u_name': user_name.get()} pickle.dump(usrs_info, usr_file) usr_file.close() file_log = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime()) file = '%s.txt' % file_log file_log_name = "./mylogs/" + file file = open(file_log_name,'a+') file.write(str(datetime.now().strftime('%Y%m%d'))) file.flush() file.write("\n====="+str(datetime.now())+"=====\n") file.close() 4、程序运行结果测试与分析主窗体设计: 欢迎界面设计 管理员登录界面 普通用户登录: 写CSV文件 异常信息写日志文件 源代码.zip https://download.csdn.net/download/paney_li/87268573 希望可以帮到你哦! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |