一、软件开发流程(重要)

​ 我们作为一个后端,虽然一般情况下只专注自己的那一部分事情,但是有时候小公司,人员架构没那么细化,或者老板就是想省钱少招点人,我们就得大致熟悉软件开发流程,知道上司、其他同事在干嘛

​ 重点词汇:原型图、分任务开发、联调

流程

# 真正的企业里软件从立项到交付整个过程
-立项:确定公司要开发这个软件 公司高层
-软件来源
-产品经理设计出来的----》互联网项目 互联网公司
-用户(医院,政府部门,企业。。) 传统软件公司
-需求分析
# 互联网项目
-需求调研和分析:产品经理设计出来的
# 传统软件
-需求调研和分析:市场人员跟客户对接
-产品经理 ,开发人员跟客户对接,生成需求文档
-原型设计:产品经理
-懂业务
-画出原型图:app,网页款
-分任务开发
-UI设计
-根据原型图设计 切图
-前端团队
-前端拿着切图写代码(pc,小程序,移动端)
-mock数据:搞假数据,先把功能开发出来
-后端团队(我们,甚至只是极小极分化的一个后端是我们)
-组里开会,需求文档和原型图,设计后台
-架构,数据库设计
-分任务开发:用户,商品板块
-测试(质量控制部)
-普通功能测试
-接口测试
-压力测试,jmeter
-自动化测试
-联调测试 -项目上线(运维) -持续维护项目 # 作为后端开发,公司里开发的流程
-开新项目,先开会,设计技术选型,数据库设计
-产品,原型图做好了
-老大在项目管理平台(禅道)分配任务给手下
-进入到管理平台就能看到任务,相关功能的原型图
-需求,原型图,实现的效果
-开发---有不明白的需求,找产品对接----》自测
-提交到版本仓库(git,svn)
-管理平台点完成
-所有都开发完了,分支合并(一般领导做)
-跟前端联调
-发版 -如果是老项目
-老大在项目管理平台(禅道)分配任务给我
-进入到管理平台就能看到任务,相关功能的原型图
-需求,原型图,实现的效果
-开发---有不明白的需求,找产品对接----》自测
-提交到版本仓库(git,svn) -所有都开发完了,分支合并
-跟前端联调
-发版

二、路飞课程商城项目

需求分析

这是一个在线购买、观看视频的知识付费商城项目
要用到的大框架:
前端:vue2
后端:django drf
后台管理:simpleui 具体有哪些功能:
首页:
1.首页展示一条导航栏可以点击查看师资力量、查看python课、查看go等等的课
2.下方轮播图,展示课程封面
3.根据课程(大类)的总点击数推荐课程 用户功能:
1.登录注册
2.手机号码验证登录
3.是否商城vip——全课程9折,新上课程95折
4.用户能改密码、改昵称、邮箱等
5.用户能评论视频,能删除自己的评论 课程列表功能:
1.课程分类,排序,展示
2.排序、过滤、分页 点击课程观看:
1.课程详情接口
2.在线视频播放(非购买用户5分钟试看)
3.页面评论功能 下单功能
1.添加购物车
2.结算购物车,调用支付宝接口支付
3.购买成功后和用户绑定,用户可以永久观看

三、pip永久换源

​ 因为pipy服务器在国外,我们不改镜像源去下资源非常卡,虽然我们已经学会了自己加国内镜像源或者给Pycharm下载换源,但是如果能给不管cmd还是pycharm都可以直接用到设置好的镜像源那就更方便了。

查看目前pip的源

cmd输入:
pip config list

换源教程

常见的国内源有以下几种:
清华:https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/
中国科学技术大学 :https://pypi.mirrors.ustc.edu.cn/simple/ # 配置本地镜像站为阿里云,以后只要pip install 就是去阿里云下载
- 1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中
-2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件
-3、新增 pip.ini 配置文件内容
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
[install]
use-mirrors =true
mirrors =https://mirrors.aliyun.com/pypi/simple
trusted-host =mirrors.aliyun.com -4.换源后再次去查看pip目前的源

四、虚拟环境

​ 以前我们也学过虚拟环境,也知道以后写项目,基本都是新开一个干净的环境,需要啥模块再下以节省资源容量,节省打包大小,这样就不会出现有个模块用不了,又不知道删除原本环境里的啥啥啥。

​ 达到多项目独立环境,同时开发

https://www.cnblogs.com/wznn125ml/p/16980743.html#autoid-h2-2-0-0

1.新的解决方案

​ 两个模块

​ Virtualenv

​ pipenv

先安装
安装模块
pip3 install virtualenv # 虚拟环境是它
pip3 install virtualenvwrapper-win # 对虚拟环境的加强,
后配置

​ 这个配置完后,以后创建的虚拟环境,都会被丢到Virtualenvs文件夹中,一个虚拟环境一个包

1.新增一对环境变量的键值对,建议加给用户
WORKON_HOME: D:\Virtualenvs
2.去D盘建一下文件夹
Virtualenvs
3.最后去自己的解释器的目录,去双击打开Scripts中的virtualenvwrapper.bat
来使用
1.创建一个虚拟环境
(记得把前面打开过的cmd关了)
mkvirtualenv -p python38 luffy #解释器版本按自己的来啊
2.创建后cmd自动更新为虚拟环境下的cmd准备模式
3.退出虚拟环境
deactivate
4.再次进入虚拟环境
workon 虚拟环境包名
5.删除虚拟环境
rmvirtualenv 虚拟环境包名

2.总结

​ 以后一定要分清,工作环境在哪里,模块下载后会被装到哪里

​ Pycharm也可以用,不过还是推荐命令行的那种创建虚拟环境

五、路飞项目开始

1.先创建好前后端项目

# 创建路飞后端
-创建路飞项目前,虚拟环境中先装好 django 3.2.2
-选中虚拟环境,起名叫luffy_api # 前端项目创建
建议和后端项目放同一层级目录,好找一点,注意windows cmd不能拿着一个路径直接去CD,得先进入大盘符 vue create luffy_city

2.开始调整后端项目目录

以前我们都是使用一个app,如果我们写真正的项目,不可能就一两个app,app一多,我们看目录结构就眼花了,所以得做一下整理

"""
├── luffy_api
├── logs/ # 项目运行时/开发时日志目录 - 包
├── manage.py # 脚本文件
├── luffy_api_in/ # 项目主应用,开发时的代码保存 - 包
├── apps/ # 开发者的代码保存目录,以模块[子应用]为目录保存 - 包
├── libs/ # 第三方类库的保存目录[第三方组件、模块] - 包
├── settings/ # 配置目录 - 包
├── dev.py # 项目开发时的本地配置
└── prod.py # 项目上线时的运行配置
├── urls.py # 总路由
└── utils/ # 多个模块[子应用]的公共函数类库[自己开发的组件]
└── scripts/ # 保存项目运行时的脚本文件,小的测试脚本 - 文件夹,不提交到git上
"""

3.目录改动后要做的

settings动了要重新配置

如果是自己开发阶段(未上线),改manage.py ,run server性能比较低,后期用uwsgi上线

如果是上线阶段,去改asgi.py和wsgi.py

然后去改一下用的多的django启动按钮配置

创建、注册app
创建随意,在外面创建了移动入apps可以,cd进去apps再创建也行
--------------------------------
注册
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'lufei_api.apps.home'
] 也要注意下,app下的apps.py 中,name 要='lufei_api.apps.home'
把小路飞这一层设置为根路径
dev中

import os
import sys BASE_DIR = Path(__file__).resolve().parent.parent #这个就是小路飞的路径,我们可以直接加到环境变量中去
path=os.path.join(BASE_DIR,'apps') sys.path.append(path)
sys.path.append(BASE_DIR) # 如果设置了小路飞根路径,我们就不用上面的name ='lufei_api.apps.home' 这些了

最新文章

  1. 使用Github进行合作开发
  2. 对于大批量赋值功能,使用if判断是否能提高性能
  3. js笔记——理解js中的call及apply
  4. iOS开发中的数据安全隐患和解决方案
  5. 【LeetCode】Binary Tree Preorder Traversal
  6. 安卓开发_浅谈Service
  7. 驱动笔记 - file_operations
  8. 搭建eclipse环境下 Nutch+Mysql 二次开发环境
  9. 解决Jquery和prototype的兼容问题
  10. Electron
  11. Jmeter mysql testing遇到的问题
  12. LINQ to SQL和Entity Framework对照
  13. Java--最大子序列和实现
  14. java实现UDP聊天---转载
  15. kotlin 语言入门指南一
  16. 【Python】 字符串的相关小知识点
  17. Android 获取验证码倒计时实现
  18. 在VMware的虚拟机中克隆CentOS,在重启网卡的时候报错解决办法
  19. Nginx 简易教程
  20. jetty8 中的异常 There is an error in invoking javac. A full JDK (not just JRE) is required...

热门文章

  1. 亚马孙机器可能出现权限问题导致ssh无法秘钥登录的情况
  2. tomcat7 与 tomcat8 加载 jar包的顺序
  3. Openfoam Pstream类探索
  4. CCRD_TOC_2008年第3期
  5. CF884F - Anti-Palindromize
  6. 如何在 JavaScript 中使用媒体查询
  7. SqlServer取分组第一条数据
  8. dismount ASM磁盘组,影响未使用的其它ASM磁盘组
  9. SAP VL02N 字段不允许编辑
  10. 树莓派lite安装桌面