Day25.注册功能面条版
1.注册功能面条版_settings.py中的目录拼接的配置信息
settings.py文件中的代码:
''' 存放配置信息 ''' import os # 获取项目根目录路径 BASE_PATH = os.path.dirname( os.path.dirname(__file__) ) # 获取user_data文件夹目录路径 USER_DATA_PATH = os.path.join( BASE_PATH, 'db', 'user_data' ) print(USER_DATA_PATH)
2.注册功能面条版_src.py中视图层代码
src.py中视图层的注册功能代码:
# 1. 注册功能 # 面条版 def register(): while True: # 1) 让用户输入用户名与密码进行校验 username = input("请输入用户名:").strip() password = input("请输入密码:").strip() re_password = input("请确认输入密码:").strip() # 小的逻辑处理:比如两次密码是否一致 if password == re_password: import json import os from conf import settings user_path = os.path.join( settings.USER_DATA_PATH, '{}.json'.format(username) ) # 接收到注册之后的结果,并打印 # 2) 查看用户是否存在 # 2.1) 若用户文件存在,则让用户重新输入 if os.path.exists(user_path): print('请重新输入!') with open(user_path, 'r', encoding='utf-8') as f: user_dic = json.load(f) # 3) 若用户存在,则让用户重新输入 if user_dic: print("用户已存在,请重新输入") continue # 4) 若用户文件不存在,则保存用户数据 # 4.1) 组织用户数据的字典信息 else: user_dic = { 'username': username, 'password': password, 'balance': 15000, # 余额 'flow': [], # 用于记录用户流水的列表 'shop_car': {}, # 用于记录用户购物车 'locked': False # 用户记录用户是否被冻结,False:未冻结,True:已冻结 } user_path = os.path.join( settings.USER_DATA_PATH, '{}.json'.format(username) ) with open(user_path, 'w', encoding='utf-8') as f: # ensure_ascii=False让json文件中的中文数据,显示更美观 json.dump(user_dic, f, ensure_ascii=False) print('用户`{}`注册成功'.format(username))
3.注册功能面条版_程序运行结果