软件开发流程-路飞项目需求- 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永久换源-虚拟环境-路飞项目前后端创建-包导入-后端项目调整目录的更多相关文章

  1. 软件开发流程 Software development process

    软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...

  2. 软件开发杂谈之从需求到上线---valen

    背景 IT已经成为当代企业必不可少的竞争手段,从无到有到标配,可以说以后不懂IT的就是文盲这句一点也不过,而软件开发是个复杂工程,零零碎碎各种理论工具和技巧,一言难尽. 本文意在言简意赅,简述软件开发 ...

  3. Atitit.软件开发的非功能性需求attilax 总结

    Atitit.软件开发的非功能性需求attilax 总结 1. 运行环境约束:用户对软件系统运行环境的要求. 1 2. 兼容性 2 3.   7.6 数据库 database (imp by ati) ...

  4. Atitit.软件开发的非功能性需求attilax 总结At

    Atitit.软件开发的非功能性需求attilax 总结 1. 运行环境约束:用户对软件系统运行环境的要求. 1 2. 兼容性 2 3.   7.6 数据库 database (imp by ati) ...

  5. SoC的软件开发流程,主要包含一些Linux下的操作命令

    该笔记主要记录SoC的软件开发流程,主要包含一些Linux下的操作命令 1. 编写design file .c .h 2. 编写makefile    可执行文件名,交叉编译环境,compile fl ...

  6. 今天学弟问我pip如何永久换源?

    pip如何永久换源 临时使用 我们在使用Python开发的时候,经常要下载第三方模块,最常用的方式就是直接pip install 模块名,但是默认是使用国外的源,从pypi仓库中查找目标模块,不管是网 ...

  7. pip 安装更新卸载 pip/yum换源

    pip安装:sudo apt-get install python3-pip pip更新:sudo pip3 install --upgrade pip pip卸载:sudo apt-get remo ...

  8. 一般软件开发流程和BBS表设计

    项目开发流程 需求分析 架构师+产品经理+开发组组长 和客户公司谈需求之前 ,事先需要想一下这个项目要怎么做 里面的坑点提前想好比较简单的解决方案 在跟客户谈的时候有意识的引导客户朝你已经想好的方案上 ...

  9. pip&conda 换源

    PIP 各种可用源 清华源:https://pypi.tuna.tsinghua.edu.cn/simple 临时指定源 pip install -i https://pypi.tuna.tsingh ...

  10. pip & conda 换源

    conda换源方法具体参考清华大学镜像站Anaconda 镜像使用帮助 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn ...

随机推荐

  1. 真正“搞”懂HTTP协议14之HTTP3

    我们前一篇学习了HTTP/2,相比于HTTP/1,HTTP/2在性能上有了大幅的改进,但是HTTP/2因为底层还是基于TCP协议的,虽然HTTP/2在应用层引入了流的概念,利用多路复用解决了队头阻塞的 ...

  2. Vue的指令(内容渲染、属性绑定、javaScript表达式、事件绑定、事务对象、双向绑定、逻辑<if-show-for>)

    VUE指令 内容渲染指令 v-text v-html v-text="message" v-text会覆盖默认的值 {{message+"!"}}插值表达式 差 ...

  3. 修改ctags让fzf.vim插件显示C,C++方法声明的标签

    背景 在 vim 中使用 fzf.vim 插件可以进行方便的搜索文件, 源码TAG, GIT 记录等, 最近抽空看了下 BTags 命令在 c, c++ 文件中, 无法显示头文件中的函数声明 标签问题 ...

  4. ArcGIS Pro SDK 003 如何调用Toolbox

    1.如何调用普通的Tool ArcGIS中的Toolbox非常强大,做二次开发的时候,必不可少的会调用,在ArcObjects SDK中,每个Tool都会有自定义的类对应,例如栅格转矢量数据,定义在E ...

  5. 【NOIP2017提高组正式赛】列队

    题解 本题的解法是丰富多彩的! 线段树做法是极好的 代码非常之少 一个很显然的想法是维护 \(n+1\) 颗线段树 那要怎么维护才能不爆空间呢? 我们发现尽管 \(n \times m\) 那么大 但 ...

  6. [NOI Online 提高组]冒泡排序

    题目 洛谷等许多 \(OJ\) 都有 思路 考试题,今日无意又做了一次 然后发现自己读错题了······ 其实询问时只要 \(k\) 轮排序后的逆序对个数并不需要真的对序列进行更改 很显然 \(k\) ...

  7. openfoam UPstream类探索(二)

    前言 接上次的博文,本篇补全以下几个函数的介绍: Pstream::nProcs() Pstream::parRun() UPstream::exit() 简述几个常用的函数如下: Pstream:: ...

  8. LeetCode-593 有效的正方形

    来源:力扣(LeetCode)链接:https://leetcode.cn/problems/valid-square 题目描述 给定2D空间中四个点的坐标 p1, p2, p3 和 p4,如果这四个 ...

  9. Spark 要点总结及优化

    Spark Components:  角色组成: Driver :  由SparkContext创建,运行在main方法,负责资源申请与调度,程序分发,接收每个分区的计算结果 Cluster mana ...

  10. []Linux 离线升级Openssh与Openssl版本

    https://blog.csdn.net/qq_45728838/article/details/120825845 离线的意思是为Linux无法链接网络,只能通过windows 将文件上传一.首先 ...