前言 基础的分享我们已经分享了六十篇,那么我们这次分享开始将用一系列的文章分享实战课程.我们分享的系统是在线学习系统.我们会分成不同的模块进行分享.我们的目的是带着大家去用fastapi去实战一次,开发一些功能模块,锻炼大家的项目实战的能力.实战大概分为:一:需求分析,二.接口设计,三.数据库设计,四.整体框架,五.接口开发,六.接口测试,七.部署. 我们针对<在线课程学习系统>系统,进行需求分析. 针对实战,开发一个课程学习系统,主要满足用户的注册登录,查看,开课,选课,课程评论点赞,用户可…
之前我们分享了FastAPI(六十八)实战开发<在线课程学习系统>接口开发--用户 个人信息接口开发.这次我们去分享实战开发<在线课程学习系统>接口开发--修改密码 我们梳理一下这里的逻辑 1.需要校验登录用户,根据登录用户,我们去校验密码 2.校验成功,我们判断新密码是否符合要求 3.存储新的密码 4.删除对应的用户的token以及错误密码存储的数据 那么开始代码实现,对应的修改密码的pydantic. from pydantic import BaseModel class U…
在之前的文章:FastAPI(六十七)实战开发<在线课程学习系统>接口开发--用户登陆接口开发,今天实战:用户 个人信息接口开发. 在开发个人信息接口的时候,我们要注意了,因为我们不一样的用户个人信息不一样,而且需要依赖登录,那么我们需要根据用户是否登录来返回用户信息,根据用户的角色来返回对应的信息, def get_role_name(db:Session,id:id): return db.query(Role).filter(Role.id == id).first()  校验下登录.因…
之前我们分享了FastAPI(七十一)实战开发<在线课程学习系统>接口开发-- 查看留言,这次我们分享留言列表开发. 列表获取,也需要登录,根据登录用户来获取对应的留言.逻辑梳理如下. 1.判断用户是否登录 2.根据登录用户查询留言列表 3.留言列表中要根据是留言回复,进行列表重组 我们根据逻辑去梳理下对应的crud def get_message_list(db: Session, userid: int): return db.query(Message).filter(or_(Messa…
针对上一篇FastAPI(六十二)实战开发<在线课程学习系统>需求分析需求的功能,我们对需要的接口进行梳理,大概的规划出来现有的接口,作为我们第一版的接口的设计出版,然后我们根据设计的接口. 2.1用户注册接口 路径:/user/register 请求方式:POST 请求格式:json 是否依赖登陆:否 参数: 参数名称 参数含义 参数是否必须 参数类型 username 用户名 8-16位 是 str password 密码,长度8-16位,md5加密 是 str role 类型,学生或者老…
在之前的文章:FastAPI(六十九)实战开发<在线课程学习系统>接口开发--修改密码,这次分享留言功能开发 我们能梳理下对应的逻辑 1.校验用户是否登录 2.校验留言的用户是否存在 3.校验用户是否和留言的用户一致 4.校验留言长度是否符合要求 5.增加留言         那么看下对应的需要新增的pydantic. class MessageConent(BaseModel): id:int connect:str   对于crud,这次没有需要新增的,我们用的都是之前的代码中已经有的,所…
接上一篇文章FastAPI(六十六)实战开发<在线课程学习系统>接口开发--用户注册接口开发.这次我们分享实际开发--用户登陆接口开发. 我们先来梳理下逻辑 1.查询用户是否存在2.校验密码是否正确3.密码校验失败记录失败次数4.失败次数大于10次,当天不能登陆5.密码校验通过产生对应的token返回 接着我们去设计pydantic,用于校验用户登陆 class UserLogin(UserBase): password: str 这里我们继承的是之前的UserBase. 对应操作数据库的cu…
之前文章FastAPI(七十三)实战开发<在线课程学习系统>接口开发-- 回复留言,那么我们这次分享删除留言接口的开发 可以对留言进行删除,这里的删除,我们使用的是逻辑的删除,不是物理删除 我们来梳理下这里的逻辑 1.用户需要登录 2.请求携带留言的id 3.判断删除留言是否存在 4.存在则删除 那么我们看下应该如何去实现呢 @usersRouter.get(path='/deletemessage/{id}') async def deletemessage(id: int, db: Ses…
之前文章分享FastAPI(七十二)实战开发<在线课程学习系统>接口开发-- 留言列表开发,这次我们分享如何回复留言 按照惯例,我们还是去分析这里面的逻辑. 1.判断用户是否登录 2.用户登录判断回复的是否存在 3.存在回复    我们对应的pydantic对象 class RebackMessConnet(MessageConent): rebackid: int     对应的crud def db_creat_rebackmessage(db: Session, reback: Reba…
之前FastAPI(七十)实战开发<在线课程学习系统>接口开发--留言功能开发分享了留言开发,这次我们分享查看留言 梳理这里的逻辑,这个接口要依赖登录. 1.判断用户是否登录 2.判断对应id是否存在,不存在返回对应的错误 3.判断是否是当前用户的留言,或者接受的方是自己 4.返回内容后,同时变成已读. 5.如果读了且回复了,要带回复的内容 梳理后发现,之前在接口设计的时候,有些欠缺,查看留言,是查看单个的留言,查看留言后,对应的留言变成已读状态.那么我们这个都需要传递一个参数,这个参数应该是…
在之前三篇,我们分享的就是需求的分析,基本接口的整理,数据库链接的配置.这次我们分享项目的基本框架,目录结构如下: common目录 通用的目录,一些通用的处理放在这里 models目录 数据库相关的放在这里 routers目录 所有的接口存放的地方 test 测试用例存放的地方 config.py 配置文件 Dockerfile docker打包的,后续部署看到 main.py 主运行文件 整体的架构梳理完毕后,我们就可以进行我们相关的开发了,这里我们在之前设计的数据库的相关的,可以放在对应的…
在前面我们分析了接口的设计,那么我们现在做接口的开发. 我们先去设计下pydantic用户参数的校验 from pydantic import BaseModel from typing import Optional class UserBase(BaseModel): username: str class UserCreate(UserBase): """ 请求模型验证: username: password: """ password:…
Web框架把我们从WSGI中拯救出来了.现在,我们只需要不断地编写函数,带上URL,就可以继续Web App的开发了. 但是,Web App不仅仅是处理逻辑,展示给用户的页面也非常重要.在函数中返回一个包含HTML的字符串,简单的页面还可以,但是,想想新浪首页的6000多行的HTML,你确信能在Python的字符串中正确地写出来么?反正我是做不到. 俗话说得好,不懂前端的Python工程师不是好的产品经理.有Web开发经验的同学都明白,Web App最复杂的部分就在HTML页面.HTML不仅要正…
CSRF攻击原理: 配置信息 import osSQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@127.0.0.1:3306/test'SQLALCHEMY_TRACK_MODIFICATIONS = False SECRET_KEY = os.urandom(30) 创建模型: from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() from exts import db…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第六十二章:接口与常量详解 下一章 "全栈2019"Java第六十三章:接口与抽象方法详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组"…
第一章 建议学习时间8小时·分两次学习      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章]) 视频教程地址:www.lalalaweb.com,随博客进度会上传教学视频,大家可前往视频学习(暂时还没有) 演示地址:后台:demoback.lalalaweb.com  前台:demo.lalalaweb.com 后台权限是开放的,大家一定不要删除admin用户或修改密码,不然别人就无法登录了,演示过程中…
第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demoback.lalalaweb.com  前台:demo.lalalaweb.com 演示过程中可能会发现bug,希望即时留言反馈,谢谢 源码下载:https://github.com/sutianbinde/classweb               //不是全部的代码,每次更新博客才更新代码 学…
项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 团队名称 快活帮 作业学习目标 (1)掌握软件项目评审会流程: (2)反思总结课程学习内容. 1.提问博客链接:https://www.cnblogs.com/12zl12/p/10487604.html 2.对问题的解答: 提问1:究竟什么是敏捷的思想?    在学习了软件工程之后认识到,首先,可以明确的是,敏捷的思想是一套方法论,其中包括了很多的…
项目 内容 这个作业属于那个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 掌握软件项目评审会流程:反思总结课程学习内容. 一.实验一解决 1.实验一博客地址 博客地址 2.问题解决 (1)这门课程最重要的是什么内容 整个课程无所谓重要程度,整个课程通过系统的学习,了解软件开发从项目确定到需求分析,再到概要及详细设计.代码实现.开发后的软件测试这一完整软件开发过程.学习上面提到的每一个步骤中完成任务的相关方法…
项目 内容 这个作业属于哪个课程 代老师博客主页 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 (1)掌握软件项目评审会流程:(2)温故知新自己的所得:(3)反思总结课程学习内容. 任务一         在周五的课上,我们和发际线总是和我作队进行了项目的结对验收,在验收的过程中我们完全按照老师之前要求的软件工程项目验收的办法进行.第一阶段由他们组作为项目组乙方为我们演示和讲解了<西北师范大学教材订购系统>,在演示完了以后我们作为项目验收方对他们提出了自己不…
项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 总结这学期软件工程学习获得 一..结合本学期课程学习内容,对比<实验一 软件工程准备>的任务5你所提的问题(给出提问博客链接),尝试对提出问题进行解答,并阐明是如何通过学习/实践/讨论弄清楚的:学习中是否产生了新的问题?如有,请提出. 提问博客连接:https://www.cnblogs.com/yanglulu-yang/a…
项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 作业学习目标 1.掌握软件评审流程及内容 2.个人总结 实验一问题解答 实验一问题链接:https://www.cnblogs.com/bingrongyx/p/10487395.html 解答问题一:理论和实践的地位形同,少其中一个都无法完成一个完整的项目.在两者相结合的过程中,比较合适的做法应该是先对整体结构进行理论分析和设计,然后立即进行代码实现,此时实现会出现很多问题,然后再查阅资料理论解决,有想…
项目 内容 所属科目 软件工程http://www.cnblogs.com/nwnu-daizh 作业要求 https://www.cnblogs.com/nwnu-daizh/p/11093584.html 课程目标 (1)掌握软件项目评审会流程:(2)反思总结课程学习内容.) 任务1:各项目组在团队项目Github仓库中提交甲方填写验收意见的验收意见表.   验收意见表链接: https://github.com/snxfd123/designfile/tree/master/table 任…
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 掌握软件项目评审会流程:反思总结课程学习内容 一.实验一问题回答 1.实验一博客链接 实验一 软件工程准备 2.问题回答 1.在之前的学习中都以基础知识和理论为主,但软件工程以实践为主,如何能快速高效的实现这中间的转化过渡?书上讲软件工程各个阶段的要进行的工作与方法,但书上所讲看起来很容易理解,但是好像以现阶段的学习情况用到的并不不多…
项目 内容 这个作业属于哪个课程 任课教师首页链接 这个作业的要求在哪里 作业链接地址 课程学习目标 (1)掌握软件项目评审会流程 (2)反思总结课程学习内容 任务一: 团队项目Github仓库中提交甲方填写验收意见的验收意见表如下: 点击查看 任务二: 1.结合本学期课程学习内容,对比<实验一 软件工程准备>的任务5你所提的问题(给出提问博客链接),尝试对提出问题进行解答,并阐明是如何通过学习/实践/讨论弄清楚的:学习中是否产生了新的问题?如有,请提出. 作业地址链接:https://www…
个人学习总结博客 这个作业属于哪个课程 软件工程任教教师 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11093584.html 作业学习目标 (1)完成项目验收(2)反思总结课程学习内容. 1.<实验一 软件工程准备>地址:https://www.cnblogs.com/runju/p/10508694.html 问题一:通过此次参与项目实践,也整正体会了项目开发过程的不易以及遇到并解决种种问题,对于开发者是否有必要去了解开发软件的背景和文…
徐明锦 徐明锦 2 95 2019-06-30T14:54:00Z 2019-06-30T14:54:00Z 9 608 3472 28 8 4072 14.00 Clean Clean false 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyl…
实验十四 团队项目评审&课程学习总结 项目 内容 这个作业属于哪个课程 软件工程 这个作业的要求在哪里 实验十四 作业学习目标 1)掌握软件编码实现的工程要求 2) 反思总结课程学习内容 任务一:点击查看 任务二: Q1:结合本学期课程学习内容,对比 <实验一 软件工程准备> 的任务5你所提的问题(提问博客链接),尝试对提出问题进行解答,并阐明是如何通过学习/实践/讨论弄清楚的:学习中是否产生了新的问题?如有,请提出. 1.软件测试分为几个阶段?目的是什么? 按照开发阶段划分,软件测试…
项目 内容 这个作业属于哪个课程 软件工程 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 (1)掌握软件项目评审会流程: (2)反思总结课程学习内容. Start: Part1.项目已完成验收,验收意见表见已上交.团队博客 Part2.个人学习总结: 软件工程第一次阅读作业:点我查看 对之前提出问题的解答: Q1:经过我一系列的了解,bug就是bug,它在目前阶段仅仅能代表的是软件开发中遇到的代码错误,导致用户使用感不好.而软件的缺陷和用户之间产生的分歧属于沟通层面,…
项目 内容 这个作业属于哪个课程 课程 2016级计算机科学与工程学院软件工程(西北师范大学) 作业要求 实验十四 团队项目评审&课程学习总结 作业学习目标 团队项目评审&课程学习总结 一.实验目的与要求 (1)掌握软件项目评审会流程: (3)反思总结课程学习内容. 二.实验环境要求 实验十三所准备团队项目验收资料和配置系统. 三.实验内容与步骤 任务(一):按照团队项目结对评审名单,由项目组扮演乙方,结对项目组扮演甲方,相互对各自软件产品进行验收评审(会议流程参见实验十三 软件项目验收相…