luffy项目day01
软件开发流程
# 真正的企业里软件从立项到交付整个过程
立项:确定公司要开发这个软件 公司高层
软件来源
产品经理设计出来的 --->>> 互联网项目 互联网公司
用户(医院,政府部门,企业。。) 传统软件公司
需求分析
# 互联网
需求调研和分析:产品经理设计出来的
# 传统软件
需求调研和分析:市场人员跟客户对接
产品经理,开发人员跟客户对接,生成需求文档
原型设计:产品经理
懂业务
画出原型图:app,网页款
分任务开发
UI设计:
根据原型图设计 切图
前端团队:
前端拿着切图写代码(pc,小程序,移动端)
mock数据:搞假数据,先把功能开发出来
后端团队:
组里开会,需求文档和原型图,设计后台
架构,数据库设计
分任务开发:用户,商品板块
测试:(质量控制部)
普通功能测试
接口测试
压力测试,jmeter
自动化测试
联调测试
项目上线(运维)
持续维护项目
作为后端开发,公司里开发的流程
# 作为后端开发,公司里开发的流程
开新项目,先开会,设计技术选型,数据库设计
## 产品,原型图做好了
老打在项目管理平台(禅道)分配任务给我(禅道:专业的项目管理软件)
进入到管理平台就能看到任务,相关功能的原型图
需求,原型图,实现的效果
开发 --->>> 有不明白的需求,找产品对接 --->>> 自测
提交到版本仓库(git,svn)
管理平台点完成
所有都开发完了,分支合并
跟前端联调
发版
## 如果是老项目
老大在项目管理平台(禅道)分配任务给我
进入到管理平台就能看到任务,相关功能的原型图
需求,原型图,实现的效果
开大 --->>> 有不明白的需求,找产品对接 --->>> 自测
提交到版本仓库(git,svn)
所有都开完了,分支合并
跟前端联调
发版
路飞项目需求
# 关于路飞项目
商城类
知识付费项目
前后端分离
主站vue
后台管理 simpleui
# 需求
-首页功能
-轮播图接口
-推荐课程接口
-用户功能
-用户名密码登录
-手机号验证码登录
-发送手机验证码
-验证手机号是否注册过
-注册接口
-课程列表功能
-课程列表接口
-排序,过滤,分页
-课程详情
-课程详情接口
-视频播放功能
-视频托管(第三方,自己平台)
-下单功能
-支付宝支付:生成支付链接,付款,回调修改订单状态
-购买成功功能
pip永久换源
pip换源,-i只是临时换源,永久换源
AppData->Roaming中新建文件pip->在新建文件pip.ini
新建pip.ini
复制以下代码
不要搞那么多,只留python3.8
如下执行python或pip,找到的就是python38
图中看出直接去阿里云下了
而要区别于pycharm中并不是去你之前配置的阿里云了
# pip3 install django
-第三方开发者,开发了第三方模块,把模块打包传到了pypi上
-根据名字,把这个打包好的模块下载下来了
-以下在公司中出现的情况
-公司不能上外网
-xx.whl 文件提交下好,再安装----》pip install 路径/xx.whl
-已经有项目,模块装完了,想把这个项目所有的模块导出---》导入到别的项目
-可以顺利上外网
下载会很慢,因为在国外
国内有些镜像站:建议用阿里云
# 配置本地镜像站为阿里云,以后只要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
# 自己写个模块,就叫你的名字 ,注册pypi账号,打包好 setup.py 传到 pypi上,以后别人
pip install 你的模块 就可以下载
如果有兴趣,可以把自己写的模块,传上去
虚拟环境搭建
# 虚拟环境是什么?
-有个系统环境 安装的python3.8 ,装模块,都装在 解释器文件夹的Lib\site-packages
-现在有两个django项目,一个基于django3 写的,一个基于django2 写的
-把两个项目都打开,同时开发
-每个项目都用自己独立的环境,装的模块相互不影响
-两种解决方案:
Virtualenv
pipenv
# 如何安装和配置
-1 安装两个模块
pip3 install virtualenv # 虚拟环境是它
pip3 install virtualenvwrapper-win # 对虚拟环境的加强,以后只需要简单的命令就可以使用和创建虚拟环境
-2 配置虚拟环境管理器工作目录
-在环境变量中新建:WORKON_HOME: D:\Virtualenvs
-在D盘创建文件夹,以后新建的虚拟环境,都会在这个文件夹下
-3 去向Python3的安装目录 => Scripts文件夹 => virtualenvwrapper.bat => 双击
# 如何创建和使用虚拟环境mkvirtualenv -p python3 luffy
-创建并进入到虚拟环境: 创建一个虚拟环境叫luffy,会放在D:\Virtualenvs
mkvirtualenv -p python3 luffy
-cmd 窗口中带着虚拟环境名字,表示在虚拟环境中,以后安装的所有模块,都是给虚拟环境安装的
-退出虚拟环境
deactivate
-查看有哪些
workon
-进入虚拟环境
workon luffy
-删除虚拟环境
rmvirtualenv 虚拟环境名称
# 本地有了虚拟环境,pycharm使用虚拟环境
-已有项目,配置虚拟环境如何做
-新建项目,使用已有虚拟环境
django-admin
pycharm创建
# 了解 使用pycharm创建虚拟环境
-新建项目,新建虚拟环境
python下载的第三方模块所出存放的路径
两个项目同时开发,
每个项目都有自己独立的校验,装的模块互不影响
如何使用:安装两个模块
配置:
在环境变量中新建:
在 D盘新建文件夹
python3中script文件夹--》virtualenvwrapper.bata双击
如何创建和使用:
重开cmd创建,创建并记录到虚拟环境
结果
在虚拟环境里查看list
在虚拟环境里新建Django
退出虚拟环境:deactivate
进去虚拟环境:workon 查看有哪些虚拟环境。进入workon luffy
查看:
删除虚拟环境功能:
了解:使用pycharm创建虚拟环境
本地有了,让pycharm使用:
下一步
命令行
结果:
创建:
路飞项目前后端搭建
# 创建路飞后端
-创建路飞项目前,虚拟环境中先装好 django 3.2.2
-选中虚拟环境,起名叫luffy_api
# 前端项目创建
vue create luffy_city
创建路飞项目之前就要安装django
新建:
打开:
创建前端项目:
去到创建项目所在位置,
再cd.. 去到上一层
再执行vue create luffy_city创建前端项目
前端vue:
包导入
# 模块和包的区别
-模块就是一个py文件
-包是一个文件夹下有__init__.py,里面有很多py文件
-以后下载第三方包,或自己写包,如何导入
# python 导入包
- pycharm会把项目路径加入到环境变量 ,命令行中不会加入
- from 的路径,需要从环境变量开始
-安装的第三方模块,都在环境变量
-内置模块 os,sys, 也在环境变量中,可以直接导入
- 在包内部,推荐使用相对导入
-一旦使用相对导入,该文件,就不能以脚本形式运行了(不能右键运行)
-在同一个目录下的推荐使用相对导入
-不同目录下的推荐使用绝对导入
导路径要从环境变量开始,
绝对导入这样也OK
相对导入,文件就不能右键运行了
后端项目目录调整
# 调整目录后成
"""
├── luffy_api
├── logs/ # 项目运行时/开发时日志目录 - 包
├── manage.py # 脚本文件
├── luffy_api/ # 项目主应用,开发时的代码保存 - 包
├── apps/ # 开发者的代码保存目录,以模块[子应用]为目录保存 - 包
├── libs/ # 第三方类库的保存目录[第三方组件、模块] - 包
├── settings/ # 配置目录 - 包
├── dev.py # 项目开发时的本地配置
└── prod.py # 项目上线时的运行配置
├── urls.py # 总路由
└── utils/ # 多个模块[子应用]的公共函数类库[自己开发的组件]
└── scripts/ # 保存项目运行时的脚本文件,小的测试脚本 - 文件夹,不提交到git上
"""
# 调整后运行不了
-原因是 找不到配置文件了---》django项目运行,第一步就要加载配置文件
-开发阶段:python manage.py runserver ---->找不到配置文件就报错了---》改manage.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffy_api.settings.dev')
-上线阶段:uwsgi运行----》
asgi.py
wsgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffy_api.settings.prod')
-项目能运行
- 创建app
-python manage.py startapp home 命令在哪执行,app就创建在哪
-cd 到 apps路径下创建app
-python ../../manage.py startapp home
- 注册app
-首先在app下的apps.py 中修改name name = 'luffy_api.apps.home'
-以后想直接写app名字,所以要吧apps的路径加入到环境变量,加载配置文件的一开始
-在配置文件中把apps和小路飞路径加入到环境变量
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
# 把BASE_DIR也加入到环境变量,以后直接从小路飞开始导起即可
sys.path.insert(0, BASE_DIR)
- 导入模块,编辑器爆红,爆红不一定是真的错
-把加入到环境变量的路径,右键,做为source root
创建app: home user
这样目录下就特别乱,不知道哪个是干嘛的
改名dev:
再拖拽进去
settings我们的配置文件,但现在有多套环境,dev开发环境、测试环境、prod上线环境。开发用本地数据库,而测试、线上没法用本地数据库,所以有多套配置文件统一都放在settings文件里
调整后运行不了:
原因还是找不到配置文件了
配置开发环境
开发阶段 加载配置文件
args拿脚本运行的参数
所以我们敲的运行命令python manage.py runserver,到如下取了
加载配置文件
结果:
上线阶段配置开发环境
项目上线就得用配置文件中的prod的配置文件到wsgi.py运行。因为runserver性能比较低,上线就得用wsgi运行
但是呢还有问题:
创建app,还是创建才根目录下。如图可以看出在哪里执行python manage.py startapp app名字就会在哪创建出app。
所以cd到apps路径下执行命令,但是又找不到manage.py,那么就跳到manage.py这一层
再注册app,一运行报错
原因是如果在根路径下是可以的,这相当于就是导入
创建app及注册方式一 根目录下创建手动改
修改app中的apps
注册:
创建app及注册方式二 添加到环境变量中
而以上注册方式太长了
把apps添加到环境变量中,加载配置文件的一开始
现在的BASE_DIR:
而我们就要把这个小路飞作为项目的根路径
插入
原来apps不在环境变量,现在apps在了把之前的去除:
结果:
再cd到apps目录创建
为了防止之后导东西太难写,太长。将BASE_DIR(此时的BASE_DIR是到小路飞了)添加到环境变量中,这样以后导东西就可以直接从小路飞导起了(因为以后我们的核心代码都是在小路飞里)
在url路由中导views,显示报红,但不是正真的错
可以将导入环境变量的设置成来源路径
将小路飞、apps添加到环境变量的设置成根:sources root