当前位置: 首页 > news >正文

Trae+DeepSeek学习Python开发MVC框架程序笔记(一):1个程序实现MVC

Trae,字节跳动发布的AI原生编程工具,借助它与DeepSeek一同实现使用python开发一个MVC的软件。

首先向DS发问:请用python实现一个mvc框架的例子,用户在系统登录view页面,输入用户名和密码,点登录时,由controller处理,使用用户表user对应的model执行相应查询表user,查询有结果时,用户看到登录成功页面,查询没有结果时,用户看到登录失败提醒页面。请给出完整可运行的符合mvc框架和以上需求的完整代码。

DS答复:

Python MVC 框架示例 - 用户登录系统

下面是一个完整的基于Python的MVC框架示例,实现了用户登录功能:

# 模型 (Model) - 处理数据和业务逻辑
class UserModel:def __init__(self):# 模拟数据库中的用户表self.users = {'admin': '123456','user1': 'password1','user2': 'password2'}def authenticate(self, username, password):"""验证用户凭据"""return username in self.users and self.users[username] == password# 视图 (View) - 处理用户界面
class LoginView:def show_login_page(self):"""显示登录页面"""print("\n=== 登录页面 ===")username = input("用户名: ")password = input("密码: ")return username, passworddef show_success(self, username):"""显示登录成功页面"""print(f"\n=== 登录成功 ===\n欢迎回来, {username}!")def show_failure(self):"""显示登录失败页面"""print("\n=== 登录失败 ===\n用户名或密码错误,请重试!")# 控制器 (Controller) - 处理用户输入和业务逻辑
class LoginController:def __init__(self, model, view):self.model = modelself.view = viewdef run(self):"""运行登录流程"""while True:# 获取用户输入username, password = self.view.show_login_page()# 验证凭据if self.model.authenticate(username, password):self.view.show_success(username)breakelse:self.view.show_failure()# 应用入口
if __name__ == "__main__":# 初始化MVC组件model = UserModel()view = LoginView()controller = LoginController(model, view)# 启动应用controller.run()

代码说明

这个示例完整实现了MVC架构:

  1. Model (UserModel)‌:

    • 负责数据访问和业务逻辑
    • 包含用户认证方法
    • 模拟了一个简单的用户数据库
  2. View (LoginView)‌:

    • 负责用户界面展示
    • 包含登录页面、成功页面和失败页面的显示方法
    • 收集用户输入并传递给控制器
  3. Controller (LoginController)‌:

    • 协调模型和视图
    • 处理用户输入
    • 调用模型进行验证
    • 根据结果决定显示哪个视图

运行示例

  1. 将代码保存为mvc_login.py
  2. 运行程序: python mvc_login.py
  3. 尝试以下测试用例:
    • 正确用户: admin/123456
    • 错误密码: admin/wrongpassword
    • 不存在的用户: test/test

扩展建议

这是一个基础示例,你可以进一步扩展:

  • 添加数据库连接替代内存存储
  • 实现密码加密
  • 添加注册功能
  • 使用Web框架(如Flask)实现Web版
  • 添加会话管理

这个示例展示了MVC的核心概念,你可以根据需要调整和扩展它。

在TRAE中新建文件夹mvctest2

在此目录下新建test2.py,代码复制以上代码,直接运行,结果如下:

=== 登录页面 ===
用户名: admin
密码: admin=== 登录失败 ===
用户名或密码错误,请重试!=== 登录页面 ===
用户名: admin
密码: 123456=== 登录成功 ===
欢迎回来, admin!

相关文章:

  • R/G-B/G色温坐标系下对横纵坐标取对数的优势
  • Volcano 实战快速入门 (一)
  • Long类型封装Json传输时精度丢失问题
  • 每日Html 4.24
  • 关于Qt对Html/CSS的支持
  • Java中正则表达式使用方法
  • docker 配置代理
  • js 的call 和apply方法用处
  • Python - 爬虫-网页解析数据-库lxml(支持XPath)
  • 真.从“零”搞 VSCode+STM32CubeMx+C <1>构建
  • 明远智睿2351开发板:重塑嵌入式开发性价比新标杆
  • NC149KMP算法详解
  • 如何彻底卸载Android Studio?
  • 深度解析 LangChain、ReAct、ReROO 架构及其在 AI Agent 中的应用
  • node.js 实战——(Http 知识点学习)
  • EasyRTC音视频实时通话在线教育解决方案:打造沉浸式互动教学新体验
  • Oracle 11g RAC手动打补丁详细步骤
  • 240424 leetcode exercises II
  • 算法训练营第二天| 209.长度最小的子数组、59.螺旋矩阵II、区间和
  • Flink 消费 Kafka 数据流的最佳实践
  • 又双叒叕出差太空了!神二十成功出发,神十九乘组扫榻以待
  • 哲学家的生命终章:一场关于存在与消逝的深度对话
  • 云南蒙自:一汪南湖见证近代开埠史与西南联大的弦歌不绝
  • 习近平同肯尼亚总统鲁托会谈
  • 吃菜和吃肉,哪个更“增肌”?
  • 翁东华卸任文和友小龙虾公司董事,此前抢镜“甲亢哥”惹争议