路飞项目day01 软件开发流程、PIP永久换源、虚拟环境、路飞项目开始
一、软件开发流程(重要)
我们作为一个后端,虽然一般情况下只专注自己的那一部分事情,但是有时候小公司,人员架构没那么细化,或者老板就是想省钱少招点人,我们就得大致熟悉软件开发流程,知道上司、其他同事在干嘛
重点词汇:原型图、分任务开发、联调
流程
# 真正的企业里软件从立项到交付整个过程
-立项:确定公司要开发这个软件 公司高层
-软件来源
-产品经理设计出来的----》互联网项目 互联网公司
-用户(医院,政府部门,企业。。) 传统软件公司
-需求分析
# 互联网项目
-需求调研和分析:产品经理设计出来的
# 传统软件
-需求调研和分析:市场人员跟客户对接
-产品经理 ,开发人员跟客户对接,生成需求文档
-原型设计:产品经理
-懂业务
-画出原型图: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' 这些了

路飞项目day01 软件开发流程、PIP永久换源、虚拟环境、路飞项目开始的更多相关文章
- 软件开发流程 Software development process
软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...
- Thrift项目Server端开发流程
Thrift项目Server端开发流程 首先,先了解工程中所有包的功能(见下图) 该图为用户中心项目的目录结构,以下依次介绍. 1. src/main/java com.framework:该 ...
- Vue 框架-12-Vue 项目的详细开发流程
Vue 框架-12-Vue 项目的详细开发流程 首先,如果你还不了解 Vue 脚手架怎么搭建? 默认的环境中有哪些文件? 文件大概是什么作用? 那么,您要先查看之前的文章才有助于你理解本篇文章: Vu ...
- SoC的软件开发流程,主要包含一些Linux下的操作命令
该笔记主要记录SoC的软件开发流程,主要包含一些Linux下的操作命令 1. 编写design file .c .h 2. 编写makefile 可执行文件名,交叉编译环境,compile fl ...
- 今天学弟问我pip如何永久换源?
pip如何永久换源 临时使用 我们在使用Python开发的时候,经常要下载第三方模块,最常用的方式就是直接pip install 模块名,但是默认是使用国外的源,从pypi仓库中查找目标模块,不管是网 ...
- pip 安装更新卸载 pip/yum换源
pip安装:sudo apt-get install python3-pip pip更新:sudo pip3 install --upgrade pip pip卸载:sudo apt-get remo ...
- vue项目搭建和开发流程 vue项目配置ElementUI、jQuery和Bootstrap环境
目录 一.VUE项目的搭建 1. 环境搭建 2. 项目的创建和启动 二. 开发项目 1. 配置vue项目启动功能 2. 开发vue项目 (1)项目文件的作用 (2)vue项目开发流程 (3)vue项目 ...
- [转]3天搞定的小型B/S内部管理类软件定制开发项目【软件开发实战10步骤详解】
本文转自:http://www.cnblogs.com/jirigala/archive/2010/10/07/1845275.html 2010-10-07 21:39 by 通用C#系统架构, 5 ...
- 一般软件开发流程和BBS表设计
项目开发流程 需求分析 架构师+产品经理+开发组组长 和客户公司谈需求之前 ,事先需要想一下这个项目要怎么做 里面的坑点提前想好比较简单的解决方案 在跟客户谈的时候有意识的引导客户朝你已经想好的方案上 ...
- pip&conda 换源
PIP 各种可用源 清华源:https://pypi.tuna.tsinghua.edu.cn/simple 临时指定源 pip install -i https://pypi.tuna.tsingh ...
随机推荐
- kali linux生成密码字典方法
kali linux生成密码字典方法 所谓的密码字典主要是配合密码破解软件所使用,密码字典里包括许多人们习惯性设置的密码.这样可以提高密码破解软件的密码破解成功率和命中率,缩短密码破解的时间.当然,如 ...
- playwright 实现高亮、is_visible 等源码修改
一. 前言 高亮是什么? 在ui自动化中可以执行js来让某个页面元素高亮,比如背景颜色.字体颜色.边框颜色等发生改变,以此更加方便执行的时候点了哪一步操作.(如果有不清楚怎么实现的可以转到我的介绍se ...
- ENCOURAGE研究: 病情中度活动RA获得深度缓解后有望实现停药
标签: 类风湿关节炎; TNF拮抗剂; 维持期减停 病情中度活动的RA患者在获得深度缓解后有望实现停用生物制剂 电邮发布日期: 2016年2月3日 病情中度活动的类风湿关节炎(RA)患者通过传统DMA ...
- Chai 3D之创建项目
推荐:将 NSDT场景编辑器 加入你的3D开发工具链 1.构建应用目录 我们将设置使用 CHAI3D 构建应用程序所需的基本目录结构和文件.根据您可能要使用的显示器或 GUI 库,为 FreeGL ...
- Spring MVC + Webapp 项目显示 404 错误
这是因为 Tomcat 版本,把 Tomcat10 换成 Tomcat9 就可以解决这个问题了.下面是我正在做的一个 Spring MVC 入门案例,因为 Tomcat 10,DispatcherSe ...
- Linux:find 指令的选项 +n、-n、n
描述 find 指令查找文件时可以通过时间来锁定或缩小搜查范围.其中需要利用到文件的三个时间?:Access Time(atime).Modify Time(mtime) 和 Change Time( ...
- pytorch学习笔记一之张量
1. 张量¶ 1.1. 概述¶ 张量(tensor)是pytorch中的一种较为基础的数据结构,类比于numpy中的ndarrays,在pytorch中,张量可以在GPU中进行运算 通 ...
- ELK 一些截图
一.背景 集成环境中,多台服务器会存在多份日志,不方便查阅 · 二.原理 三.配置原理 Logstash是安装在服务器上的,相当于读取本地日志,然后输出到ES服务器,kibana会从ES服务器读取数据 ...
- LeetCode-540 有序数组中单一元素
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/single-element-in-a-sorted-array 题目描述 给你一个仅由整数组成的 ...
- B树,B-树,B+树和B*树
B树和B-树(平衡多路查找树)规则:1.排序方法:所有结点关键字按递增次序,并遵循左小右大的原则.2.子结点数:非叶子结点的子结点数>1且<=M且M>=2,空树除外(M阶代表一个树的 ...