软件开发流程-路飞项目需求- pip永久换源-虚拟环境-路飞项目前后端创建-包导入-后端项目调整目录
软件开发流程-路飞项目需求- pip永久换源-虚拟环境-路飞项目前后端创建-包导入-后端项目调整目录
学习建议:
# 技术类博客
cnblogs
csdn(不推荐)
掘金
思否
# 找工作
boos直聘
拉钩
智联
猎聘
脉脉:职场交流
-部门内推 领导
今日内容概要
- 1 软件开发流程
- 2 路飞项目需求
- 3 pip永久换源
- 4 虚拟环境
- 5 路飞项目前后端创建
- 6 包导入
- 7 后端项目调整目录
今日内容详细
1 软件开发流程
# 真正的企业里从软件立项到交付整个过程
立项:确定公司要开发这个软件 公司高层
软件来源
产品经理设计出来的---> 互联网项目 互联网公司
用户(医院 征服部门 企业) 传统软件公司
需求分析
# 互联网项目
需求调研和分析:产品经理设计出来的
# 传统软件
需求调研和分析:市场人员跟客户对接
产品经理 开发人员跟客户对接 生成需求文档
原型设计:产品经理
懂业务
画出原型图:app 网页款
分任务开发
UI设计
根据原型图设计 初图
前端团队
前端拿着切图写代码(pc 小程序 移动端)
mock数据:搞假数据 先把功能开发出来
后端团队(我们后端从这里开始)
组里开会 需求文档和原型图 设置后台
架构 数据库设计
分任务开发:用户 商品板块
测试(质量控制部)
普通功能测试
接口测试
压力测试 jmter
自动化测试(python)
联调测试
项目上线(运维)
持续维护项目
# 作为后端开发 公司里开发的流程
开新项目 先开会 设计技术选型 数据库设计
产品 原型图做好了
老大在项目管理平台(禅道类似)分配任务给我
进入到管理平台就能看到任务 相关功能的原型图
需求 原型图 实现的效果
开发---有不明白的需求 找产品经理对接---> 自测
提交到版本仓库(git svn)
管理平台点完成
所有都开发完了分支合并
跟前端联调
发版
如果是老项目
老大在项目管理平台(禅道类似)分配任务给我
-进入到管理平台就能看到任务,相关功能的原型图
-需求,原型图,实现的效果
-开发---有不明白的需求,找产品对接----》自测
-提交到版本仓库(git,svn)
-所有都开发完了,分支合并
-跟前端联调
-发版
2 路飞项目需求
# 关于路飞项目
商城类
知识付费项目
前后端分离
主站vue
后台管理 simpleui
# 需求
首页功能
首页轮播图
推荐课程
用户功能
用户名密码登录
手机号验证码登录
发送手机验证码
验证手机号是否注册过
注册接口
查看用户信息
修改用户信息
课程列表功能
课程列表接口 课程列表展示
排序 过滤 分页
课程详情
课程详情接口
视频播放功能
视频托管(第三方 自己平台) 文件托管
下单功能
支付宝支付:生成支付链接 付款 回调修改订单状态
购买成功功能
3 pip永久换源
# pip install django
第三方开发者 开发了第三方模块 把模块打包传到了pypi上
根据名字 把这个打包好的模块下载下来
在公司中可能不能上外网
xx.whl(公司自己的pip库) 文件提前下好 再安装---> pip install 路径/xx.wsl
已经有项目 模块装完了 想把这个项目所有的模块导出---> 导入到别的项目
可以顺利上外网
下载会很慢 因为在国外
国内有镜像站 建议用阿里云
# 配置本地镜像站为阿里云 以后只要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 你的模块 就可以下载
如果有兴趣,可以把自己写的模块,传上去
4 虚拟环境
# 虚拟环境是什么?
有个系统环境 安装的python3.8 装模块 都装在解释器文件夹的 Lib\site-packages
现在有两个django项目 一个基于django3写的 一个基于django2写的
把这两个项目都打开 同时开发
每个项目都用自己独立的环境 装的模块互不影响
两种解决方案:
Virtualenv
pipenv
# 如何安装和配置
1 安装两个模块
pip install virtualenv # 虚拟环境是它
pip install virtualenvwrapper-win # 对虚拟环境的加强 以后只需要简单的命令就可以使用和创建虚拟环境
2 配置虚拟环境管理器工作目录
在环境变量中新建:WORKON_HOME: D:\Virtualenvs
在D盘创建文件夹 以后新建的虚拟环境 都会在这个文件夹下
3 去向python3的安装目录=> Scripts文件夹=> virtualenvwrapper.bat=> 双击
# 如何创建和使用虚拟环境
-创建并进入到虚拟环境: 创建一个虚拟环境叫luffy,会放在D:\Virtualenvs
mkvirtualenv -p python3 luffy
-cmd 窗口中带着虚拟环境名字,表示在虚拟环境中,以后安装的所有模块,都是给虚拟环境安装的
-退出虚拟环境
deactivate
-查看有哪些
workon
-进入虚拟环境
workon luffy
-删除虚拟环境
rmvirtualenv 虚拟环境名称
# 本地有了虚拟环境,pycharm使用虚拟环境
-已有项目,配置虚拟环境如何做
-新建项目,使用已有虚拟环境
django-admin
pycharm创建
# 了解 使用pycharm创建虚拟环境
-新建项目,新建虚拟环境
5 路飞项目前后端创建
# 创建路飞后端
创建路飞项目前 虚拟环境中先装好 django3.2.2
选中虚拟环境 起名叫luffy_api
# 前端项目创建
vue create luffy_city
6 包导入
# 模块和包的区别
模块就是一个py文件
包是一个文件夹下有__init__.py 里面有很多py文件
以后下载第三方包 或者自己写包 如何导入
# python 导入包
pycharm会把项目路径加入到环境变量 命令行中不会加入
from的路径 需要从环境变量开始
安装的第三方模块 都在环境变量
内置模块 os sys 也在环境变量中 可以直接导入
在包内部 推荐使用相对导入
一旦使用相对导入 该文件 就不能以脚本形式运行了(不能右键运行)
在同一个目录下的推荐使用相对导入
不同目录下的推荐使用绝对导入
7 后端项目调整目录
# 调整目录后成
"""
├── 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')
-上线阶段:wsgi运行----》
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
from pathlib import Path
import os
import sys
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
# 将项目文件加入系统环境变量 方便使用
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
sys.path.insert(0, BASE_DIR)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'home',
'user'
]
软件开发流程-路飞项目需求- pip永久换源-虚拟环境-路飞项目前后端创建-包导入-后端项目调整目录的更多相关文章
- 软件开发流程 Software development process
软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...
- 软件开发杂谈之从需求到上线---valen
背景 IT已经成为当代企业必不可少的竞争手段,从无到有到标配,可以说以后不懂IT的就是文盲这句一点也不过,而软件开发是个复杂工程,零零碎碎各种理论工具和技巧,一言难尽. 本文意在言简意赅,简述软件开发 ...
- Atitit.软件开发的非功能性需求attilax 总结
Atitit.软件开发的非功能性需求attilax 总结 1. 运行环境约束:用户对软件系统运行环境的要求. 1 2. 兼容性 2 3. 7.6 数据库 database (imp by ati) ...
- Atitit.软件开发的非功能性需求attilax 总结At
Atitit.软件开发的非功能性需求attilax 总结 1. 运行环境约束:用户对软件系统运行环境的要求. 1 2. 兼容性 2 3. 7.6 数据库 database (imp by ati) ...
- 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 ...
- 一般软件开发流程和BBS表设计
项目开发流程 需求分析 架构师+产品经理+开发组组长 和客户公司谈需求之前 ,事先需要想一下这个项目要怎么做 里面的坑点提前想好比较简单的解决方案 在跟客户谈的时候有意识的引导客户朝你已经想好的方案上 ...
- pip&conda 换源
PIP 各种可用源 清华源:https://pypi.tuna.tsinghua.edu.cn/simple 临时指定源 pip install -i https://pypi.tuna.tsingh ...
- pip & conda 换源
conda换源方法具体参考清华大学镜像站Anaconda 镜像使用帮助 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn ...
随机推荐
- C#获取html标签内容的方法
C# 获取html标签内容的方法: /// <summary> /// 获取html网页标签内容 /// 例如:<span class="index_infoItem__E ...
- Dapr v1.10.0 版本已发布
Dapr是一套开源.可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性.微服务.无状态以及有状态等应用程序类型.Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统 ...
- 记一次google手机恢复出厂设置到root抓包全过程
前言 开始因为手机密码忘记了,不想重置,不然找店家root的工具都没了,自己也不会google root的操作,之前听说还挺麻烦的.操作了半天好了,确实是挺麻烦的,做个记录. 一.恢复出厂设置 还原教 ...
- JZOJ 5353. 【NOIP2017提高A组模拟9.9】村通网
题目 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里每座建筑都连上互联网,方便未来随时随地网购农药. 他的农庄很大,有N 座建筑,但地理位置偏僻,网络信号很差. 一座建筑 ...
- 在windows环境中如何批量添加IP地址 and 求助 : 在CMD命令行中配置IP地址, 提示 : 未能配置DHCP服务, 接口可能已经断开, 系统找不到指定的文件.
转载csdn: 在windows环境中如何批量添加IP地址_user_yuewu的博客-CSDN博客_windows批量添加ip 求助 : 在CMD命令行中配置IP地址, 提示 : 未能配置DHCP服 ...
- Eureka高可用集群服务端和客户端配置
微服务应用中,生产环境一般都需要保障服务注册中心的高可用!高可用也分好几个等级,例如:同数据中心(可用Zone区)高可用-->同地域(Region)跨数据中心(可用Zone区)高可用--> ...
- css background背景透明
background: transparent; background: rgba(0, 0, 0, 0.8);
- form表单enctype扩展
enctype就是encodetype就是编码类型的意思. multipart/form-data是指表单数据有多部分构成,既有文本数据,又有文件等二进制数据的意思. 需要注意的是:默认情况下,enc ...
- Educational Codeforces Round 137 (Rated for Div. 2) - E. FTL
DP Problem - E - Codeforces 题意 有个 BOSS 有 \(H\;(1<=H<=5000)\) 血量,\(s\) 点防御 有两种武器可用攻击 BOSS,伤害分别为 ...
- 周练3(php反序列化)
serialize()函数 $s = serialize($变量); //该函数将变量数据进行序列化转换为字符串 file_put_contents('./目标文本文件', $s); //将$s保存到 ...