luffy项目day01

软件开发流程

# 真正的企业里软件从立项到交付整个过程
	立项:确定公司要开发这个软件	公司高层
  	软件来源
    	产品经理设计出来的 --->>> 互联网项目	互联网公司
      用户(医院,政府部门,企业。。)				传统软件公司
  需求分析
  	# 互联网
    	需求调研和分析:产品经理设计出来的
    # 传统软件
    	需求调研和分析:市场人员跟客户对接
    	产品经理,开发人员跟客户对接,生成需求文档
  原型设计:产品经理
  	懂业务
    	画出原型图:app,网页款
    分任务开发
    	UI设计:
      	根据原型图设计 切图
      前端团队:
      	前端拿着切图写代码(pc,小程序,移动端)
        mock数据:搞假数据,先把功能开发出来
      后端团队:
      	组里开会,需求文档和原型图,设计后台
        架构,数据库设计
        	分任务开发:用户,商品板块
      测试:(质量控制部)
      	普通功能测试
        接口测试
        压力测试,jmeter
        自动化测试
      联调测试
  项目上线(运维)
  
  持续维护项目

作为后端开发,公司里开发的流程

#  作为后端开发,公司里开发的流程
	开新项目,先开会,设计技术选型,数据库设计
		## 产品,原型图做好了
    	老打在项目管理平台(禅道)分配任务给我(禅道:专业的项目管理软件)
      进入到管理平台就能看到任务,相关功能的原型图
      	需求,原型图,实现的效果
      开发 --->>> 有不明白的需求,找产品对接 --->>> 自测
      提交到版本仓库(git,svn)
      管理平台点完成
      所有都开发完了,分支合并
      跟前端联调
      发版
    ## 如果是老项目
    	老大在项目管理平台(禅道)分配任务给我
      	进入到管理平台就能看到任务,相关功能的原型图
        	需求,原型图,实现的效果
        开大 --->>> 有不明白的需求,找产品对接 --->>> 自测
        提交到版本仓库(git,svn)
        
        所有都开完了,分支合并
       	跟前端联调
        发版

image-20230224152819357

路飞项目需求

# 关于路飞项目
	商城类
  	知识付费项目
    前后端分离
    	主站vue
      	后台管理 simpleui

# 需求
	-首页功能
    	-轮播图接口
    	-推荐课程接口
        
    -用户功能
    	-用户名密码登录
        -手机号验证码登录
        -发送手机验证码
        -验证手机号是否注册过
        -注册接口
        
   -课程列表功能
		-课程列表接口
    	-排序,过滤,分页
   -课程详情
		-课程详情接口
    	-视频播放功能
        -视频托管(第三方,自己平台)
   -下单功能
		-支付宝支付:生成支付链接,付款,回调修改订单状态
   		-购买成功功能

pip永久换源

pip换源,-i只是临时换源,永久换源

AppData->Roaming中新建文件pip->在新建文件pip.ini

image-20230224210238524

新建pip.ini

image-20230224210247746

复制以下代码

image-20230224210259047

不要搞那么多,只留python3.8

image-20230224101328697

如下执行python或pip,找到的就是python38

image-20230224101445794

图中看出直接去阿里云下了

而要区别于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下载的第三方模块所出存放的路径

image-20230224155530378

两个项目同时开发,

每个项目都有自己独立的校验,装的模块互不影响

如何使用:安装两个模块

image-20230224102636472

配置:

在环境变量中新建:

image-20230224103009341

在 D盘新建文件夹

image-20230224103041379

python3中script文件夹--》virtualenvwrapper.bata双击

image-20230224161319509

如何创建和使用:

image-20230224103350871

重开cmd创建,创建并记录到虚拟环境

image-20230224103426578

结果

image-20230224163906573

在虚拟环境里查看list

image-20230224103537945

在虚拟环境里新建Django

image-20230224103701764

退出虚拟环境:deactivate

进去虚拟环境:workon 查看有哪些虚拟环境。进入workon luffy

image-20230224103938940

查看:

image-20230224103956235

删除虚拟环境功能:

image-20230224104048320

了解:使用pycharm创建虚拟环境

本地有了,让pycharm使用:

image-20230224104940958

下一步

image-20230224105003925

命令行

image-20230224105119336

结果:

image-20230224105130358

创建:

image-20230224205709003

路飞项目前后端搭建

# 创建路飞后端
	-创建路飞项目前,虚拟环境中先装好 django 3.2.2
    -选中虚拟环境,起名叫luffy_api
    
    
# 前端项目创建
	vue create luffy_city

创建路飞项目之前就要安装django

image-20230224105347125

新建:

image-20230224105505122

打开:

image-20230224105533832

创建前端项目:

去到创建项目所在位置,

image-20230224170406041

再cd.. 去到上一层

image-20230224170641126

再执行vue create luffy_city创建前端项目

image-20230224105720047

image-20230224105747037

前端vue:

image-20230224111459461

包导入

# 模块和包的区别
	-模块就是一个py文件
    -包是一个文件夹下有__init__.py,里面有很多py文件
    
    -以后下载第三方包,或自己写包,如何导入
    
    
    
    
# python 导入包
	- pycharm会把项目路径加入到环境变量 ,命令行中不会加入
	- from 的路径,需要从环境变量开始
    	-安装的第三方模块,都在环境变量
        -内置模块 os,sys, 也在环境变量中,可以直接导入
    - 在包内部,推荐使用相对导入
    	-一旦使用相对导入,该文件,就不能以脚本形式运行了(不能右键运行)
        -在同一个目录下的推荐使用相对导入
        -不同目录下的推荐使用绝对导入

导路径要从环境变量开始,

image-20230224112829058

绝对导入这样也OK

image-20230224112941352

相对导入,文件就不能右键运行了

image-20230224112824176

后端项目目录调整

# 调整目录后成
"""
├── 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

image-20230224113427304

这样目录下就特别乱,不知道哪个是干嘛的

image-20230224113500409

image-20230224113553537

image-20230224175033434

image-20230224113751579

改名dev:

image-20230224175130783

再拖拽进去

image-20230224175237981

settings我们的配置文件,但现在有多套环境,dev开发环境、测试环境、prod上线环境。开发用本地数据库,而测试、线上没法用本地数据库,所以有多套配置文件统一都放在settings文件里

image-20230224180020878

调整后运行不了:

image-20230224183716689

原因还是找不到配置文件了

配置开发环境

开发阶段 加载配置文件

image-20230224184352872

args拿脚本运行的参数

image-20230224184509292

image-20230224184718962

所以我们敲的运行命令python manage.py runserver,到如下取了

image-20230224184810714

image-20230224115558859

加载配置文件

image-20230224185357931

结果:

image-20230224185433121

上线阶段配置开发环境

image-20230224185748517

项目上线就得用配置文件中的prod的配置文件到wsgi.py运行。因为runserver性能比较低,上线就得用wsgi运行

image-20230224190145918

但是呢还有问题:

创建app,还是创建才根目录下。如图可以看出在哪里执行python manage.py startapp app名字就会在哪创建出app。

所以cd到apps路径下执行命令,但是又找不到manage.py,那么就跳到manage.py这一层

image-20230224190703325

再注册app,一运行报错

image-20230224190830821

原因是如果在根路径下是可以的,这相当于就是导入

创建app及注册方式一 根目录下创建手动改

image-20230224191341937

修改app中的apps

image-20230224191942997

注册:

image-20230224192057208

创建app及注册方式二 添加到环境变量中

而以上注册方式太长了

把apps添加到环境变量中,加载配置文件的一开始

image-20230224192232795

现在的BASE_DIR:

image-20230224192752120

而我们就要把这个小路飞作为项目的根路径

image-20230224192936946

插入

image-20230224193030216

原来apps不在环境变量,现在apps在了把之前的去除:

image-20230224193214947

结果:

image-20230224193118484

再cd到apps目录创建

image-20230224193529622

为了防止之后导东西太难写,太长。将BASE_DIR(此时的BASE_DIR是到小路飞了)添加到环境变量中,这样以后导东西就可以直接从小路飞导起了(因为以后我们的核心代码都是在小路飞里)

image-20230224200852332

在url路由中导views,显示报红,但不是正真的错

image-20230224201645320

可以将导入环境变量的设置成来源路径

image-20230224202203912

将小路飞、apps添加到环境变量的设置成根:sources rootimage-20230224202241425

posted @ 2023-02-24 21:06  小福福  阅读(23)  评论(0编辑  收藏  举报