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

python基于django的花卉种植技术交流系统

随着社会的飞速发展,人们生活水平在不断的进步,生活质量也在不断的提高,花卉种植在人们生活占据很大一部分,而随着计算机科学与技术的日益完善,依靠计算机科学与技术为人们生活提供便利是时代的趋势。而我们的高等学校也存在这样的问题,许多花卉不懂如何正确的种植,只是一味的按时浇水,造成很多花卉的浪费,所以花卉种植技术网站无疑是必要的,对花卉进行系统的理论上的管理和技术培训。
请添加图片描述
系统主要功能模块:用户管理、心得交流圈、用户需求、专家解答、技术商店、专家分析。程序内容有用户管理、心得交流、用户需求、专家解答、技术商店、专家分析 。系统管理功能是整个鲜花培育专家的系统设置,其对于系统的运行和维护具有重要的支持作用,主要完成用户管理、备份管理、统计分析管理以及权限管理等方面的处理。

请添加图片描述
在各学校的教学过程中,鲜花培育专家管理是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的可以鲜花培育专家技术学习的平台,这样可以有效地解决鲜花分类管理混乱的局面。
请添加图片描述
本文首先介绍了鲜花培育专家系统管理技术的发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。
请添加图片描述

`
/**

  • 登录相关
    */
    @RequestMapping(“users”)
    @RestController
    public class UserController{

    @Autowired
    private UserService userService;

    @Autowired
    private TokenService tokenService;

    /**

    • 登录
      */
      @IgnoreAuth
      @PostMapping(value = “/login”)
      public R login(String username, String password, String captcha, HttpServletRequest request) {
      UserEntity user = userService.selectOne(new EntityWrapper().eq(“username”, username));
      if(user==null || !user.getPassword().equals(password)) {
      return R.error(“账号或密码不正确”);
      }
      String token = tokenService.generateToken(user.getId(),username, “users”, user.getRole());
      return R.ok().put(“token”, token);
      }

    /**

    • 注册
      */
      @IgnoreAuth
      @PostMapping(value = “/register”)
      public R register(@RequestBody UserEntity user){
      // ValidatorUtils.validateEntity(user);
      if(userService.selectOne(new EntityWrapper().eq(“username”, user.getUsername())) !=null) {
      return R.error(“用户已存在”);
      }
      userService.insert(user);
      return R.ok();
      }

    /**

    • 退出
      */
      @GetMapping(value = “logout”)
      public R logout(HttpServletRequest request) {
      request.getSession().invalidate();
      return R.ok(“退出成功”);
      }

    /**

    • 密码重置
      */
      @IgnoreAuth
      @RequestMapping(value = “/resetPass”)
      public R resetPass(String username, HttpServletRequest request){
      UserEntity user = userService.selectOne(new EntityWrapper().eq(“username”, username));
      if(user==null) {
      return R.error(“账号不存在”);
      }
      user.setPassword(“123456”);
      userService.update(user,null);
      return R.ok(“密码已重置为:123456”);
      }

    /**

    • 列表
      */
      @RequestMapping(“/page”)
      public R page(@RequestParam Map<String, Object> params,UserEntity user){
      EntityWrapper ew = new EntityWrapper();
      PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
      return R.ok().put(“data”, page);
      }

    /**

    • 列表
      */
      @RequestMapping(“/list”)
      public R list( UserEntity user){
      EntityWrapper ew = new EntityWrapper();
      ew.allEq(MPUtil.allEQMapPre( user, “user”));
      return R.ok().put(“data”, userService.selectListView(ew));
      }

    /**

    • 信息
      */
      @RequestMapping(“/info/{id}”)
      public R info(@PathVariable(“id”) String id){
      UserEntity user = userService.selectById(id);
      return R.ok().put(“data”, user);
      }

    /**

    • 获取用户的session用户信息
      */
      @RequestMapping(“/session”)
      public R getCurrUser(HttpServletRequest request){
      Long id = (Long)request.getSession().getAttribute(“userId”);
      UserEntity user = userService.selectById(id);
      return R.ok().put(“data”, user);
      }

    /**

    • 保存
      */
      @PostMapping(“/save”)
      public R save(@RequestBody UserEntity user){
      // ValidatorUtils.validateEntity(user);
      if(userService.selectOne(new EntityWrapper().eq(“username”, user.getUsername())) !=null) {
      return R.error(“用户已存在”);
      }
      userService.insert(user);
      return R.ok();
      }

    /**

    • 修改
      */
      @RequestMapping(“/update”)
      public R update(@RequestBody UserEntity user){
      // ValidatorUtils.validateEntity(user);
      userService.updateById(user);//全部更新
      return R.ok();
      }

    /**

    • 删除
      */
      @RequestMapping(“/delete”)
      public R delete(@RequestBody Long[] ids){
      userService.deleteBatchIds(Arrays.asList(ids));
      return R.ok();
      }
      }
      `请添加图片描述
      请添加图片描述
      目录
      1 绪论 1
      1.1课题背景 1
      1.2课题研究现状 1
      1.3初步设计方法与实施方案 2
      1.4本文研究内容 2
      2 系统开发环境 4
      2.1 使用工具简介 4
      2.2 环境配置 4
      2.3 B/S结构简介 4
      2.4 MySQL数据库 5
      2.5 框架介绍 5
      3 系统分析 6
      3.1系统可行性分析 6
      3.1.1经济可行性 6
      3.1.2技术可行性 6
      3.1.3运行可行性 6
      3.2系统现状分析 6
      3.3功能需求分析 7
      3.4系统设计规则与运行环境 8
      3.5系统流程分析 8
      3.5.1操作流程 8
      3.5.2添加信息流程 9
      3.5.3删除信息流程 10
      4 系统设计 11
      4.1系统设计主要功能 11
      4.2数据库设计 11
      4.2.1数据库设计规范 11
      4.2.2 E/R图 11
      4.2.3数据表 12
      5 系统实现 25
      5.1系统功能模块 25
      5.2后台模块 27
      5.2.1管理员功能模块 27
      5.2.2用户功能模块 30
      6 系统测试 33
      6.1功能测试 33
      6.2可用性测试 33
      6.3性能测试 34
      6.4测试结果分析 34
      7结 论 35
      参考文献 36
      致 谢 37

相关文章:

  • FastFlow(3)---有序FARM
  • Springboot餐饮点餐系统毕业设计源码301749
  • 借身份证给别人办理流量卡有风险吗?这些情况你必须要知道!
  • 概述LCR测试仪IM3536日本HIOKI日置IM3535 阻抗分析仪
  • qiankun微应用加载第三方js、sdk跨域报错
  • Linux网络编程-网络层IP协议
  • 神经网络图像识别代码,编码解码神经网络
  • 5分钟从掌握到精通---进制转化
  • centos安装zabbix
  • 前缀和以及哈希表优化
  • 【JavaSE】多线程篇(一)线程的相关概念与线程的基本使用
  • 8、学习 Java 中的方法(方法的定义、可变参数、参数的传递问题、方法重载、方法签名)通过官方教程
  • 数据库基本结论
  • Django-(3)
  • HyperLynx(十五)多板仿真
  • 【Leetcode】101. 对称二叉树
  • Google 是如何开发 Web 框架的
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • 2017届校招提前批面试回顾
  • Bootstrap JS插件Alert源码分析
  • CODING 缺陷管理功能正式开始公测
  • Git的一些常用操作
  • laravel with 查询列表限制条数
  • nfs客户端进程变D,延伸linux的lock
  • Redash本地开发环境搭建
  • SQLServer之创建显式事务
  • TypeScript迭代器
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 安装python包到指定虚拟环境
  • 百度小程序遇到的问题
  • 当SetTimeout遇到了字符串
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 驱动程序原理
  • 异步
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • - 转 Ext2.0 form使用实例
  • 阿里云重庆大学大数据训练营落地分享
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (C语言)球球大作战
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (九十四)函数和二维数组
  • (南京观海微电子)——I3C协议介绍
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (顺序)容器的好伴侣 --- 容器适配器
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (一)RocketMQ初步认识
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)nsfocus-绿盟科技笔试题目
  • .gitignore
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .md即markdown文件的基本常用编写语法