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.注册功能面条版_程序运行结果

 

posted on 2024-06-11 00:30  与太阳肩并肩  阅读(3)  评论(0编辑  收藏  举报

导航