软件开发流程-路飞项目需求- 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. LeetCode_单周赛_327

    目录 6283. 正整数和负整数的最大计数 代码 6285. 执行 K 次操作后的最大分数 代码 6284. 使字符串总不同字符的数目相等 代码 6283. 正整数和负整数的最大计数 代码 直接遍历统 ...

  2. 计算机网络基础08 Socket网络通信

    部分内容来自:https://www.jianshu.com/p/066d99da7cbd 1  七层网络架构 在解释socket之前,先了解下七层网络架构 https://www.cnblogs.c ...

  3. 使用HtmlAgilityPack 爬取 国家统计局 区划和城乡划分代码

    HtmlAgilityPack:Html解析神器,根据url地址解析html页面内容. 项目引用HtmlAgilityPack.dll文件或者通过安装 nuget 包 HtmlAgilityPack ...

  4. Centos7系统编译Hadoop3.3.4

    1.背景 最近在学习hadoop,此篇文章简单记录一下通过源码来编译hadoop.为什么要重新编译hadoop源码,是因为为了匹配不同操作系统的本地库环境. 2.编译源码 2.1 下载并解压源码 [r ...

  5. HashSet()相关易错点

    package homework_;import java.util.HashSet;import java.util.Objects;/* * @author YAM */public class ...

  6. JZOJ 5350. 【NOIP2017提高A组模拟9.7】陶陶摘苹果

    题目 分析 很神奇的事情又发生了!! 很容易想到设 \(f_{i,j}\) 表示考虑前 \(i\) 个区间,已选 \(j\) 个区间且必选第 \(i\) 时能覆盖到的最多苹果数 转移 \(O(n)\) ...

  7. Json.stringfiy json未定义

    在文档的顶部添加 <!DOCTYPE html> 没有它,IE10是一个奇怪的兼容模式,许多"新"功能不可用,例如JSON.如果你任然需要使用早期版本的IE,你可以使用 ...

  8. 06#Web 实战:可滑动的标签页

    实现效果图 本随笔只是记录一下大概的实现思路,如果感兴趣的小伙伴可以通过代码和本随笔的说明去理解实现过程.我的 Gitee 和 GitHub 地址.注意哦:这个只是 PC 上的标签页,手机端的没用,因 ...

  9. CCProxy网络代理小试牛刀

    CCProxy可以完成两项大的功能:代理共享上网和客户端代理权限管理.只要局域网内有一台机器能够上网,其他机器就可以通过这台机器上安装的CCProxy来代理共享上网,最大程度的减少了硬件费用和上网费用 ...

  10. 自定义StringByteLength

    using HKElectric.ESafety.Utilities; using System.ComponentModel.DataAnnotations; namespace HKElectri ...