路飞项目篇:项目需求、pip永久换源、虚拟环境搭建、后台创建目录调整

  • 企业项目类型
  • 企业项目开发流程
  • 路飞项目需求
  • pip换源
  • 虚拟环境搭建
  • 路费后台创建目录调整

1 企业项目类型

# 软件类型
	-web类型
    	商城
            1.1 B2C 直销商城 商家与会员直接交易 (京东,大润发app,盒马商城 )
            1.2 B2B 批发商城 商家与商家直接交易(1688,)
            1.3 B2B2C 购物平台 商家和会员在另一个商家提供的平台上面进行交易(淘宝)
            1.4 C2B 定制商城 会员向商家发起定制商品的需求,商家去完成()
            1.5 O2O 线上线下交易平台    (叮咚买菜。。。)
            1.6 C2C 二手交易平台(咸鱼,转转)
        门户网站[企业站和门户站]
        社交网络
        	-爱聊,陌陌,探探
        资讯论坛
			-
        内部系统-python写的非常多
            -oa,人员管理,请假审批,流程审批
            -crm:客户关系管理
            -erp:财务,工资。。。  odoo
            -运维自动化
            -自动化测试
            -银行内部
            -医院内部
            -政府内部
        个人博客

内容收费站
    -其他类型
    	-小工具:图形化界面--GUI编程
        	-Tkinter
            -pyqt: qt平台用py代码写
        -小脚本
        	-批量处理
            -监控类的

2 企业项目开发流程

# 项目开发流程
    -1 公司立项  
    	-来源:产品经理 对市场的眼光,客户
    -2 需求分析
    	-互联网产品:产品经理
        -客户
    -3 设计产品原型---》产品经理
    	-画原型图---》墨刀
    -4 分叉--》前后端分开操作
    	-后端开始
        	-设计程序的架构,技术选型(组里开会)
            -数据库设计
            -分任务开发:项目管理软件:禅道
            -分到你身上,写代码---》自测 ---》提交到git
            -专门测试集中测试;前端联调
            -测出问题---》测试在管理软件提bug---》到你身上
    	-前端开始
        	-ui设计
            -前端开发
            -联调
            -测试
            
    -5 集中测试---》项目上线  ---》运维
    
    -6 功能迭代,增加功能,修改bug

3 路飞项目需求

# 路飞项目需求
	-首页轮播图
    -登录
    	-手机号+验证码
        -用户名+密码
    -注册
    	-手机号+验证码+密码注册方式
    -实战课列表
    	-排序
        -过滤
        -分页
    -课程详情
    	-课程内容展示
        -章节,课时
        -老师展示
        -视频播放
   -购买课程
	   -支付宝支付
       -付款成功页面
        -生成订单,修改订单状态
   -搜索课程
	-模糊搜索
    
   -上线
	-阿里云服务器
    -mysql
    -redis
    -niginx
    -uwsgi
    -django
    -前端
e9fd70b6efa8e27d6c2912b64630dd0 77c1edfba32dd1146b37be04abe5901 c58bd02eae3ce1c9076de3cce8b6536 7cd3fc644cd583060cc5d2987fbab36 381f340dc68895146328d71dfc7def2 da3905e0037a460c1f6252fa2574ad5 0e2c2f33cfb4190712a9765977c32fc

4 pip换源

# 下载的第三方模块---》pypi网站上----》国外---》pip install 国外网站下载 whl,tar.gz--》速度慢--》pip install -i 国内镜像---》每次都要加-i 镜像地址

# 一劳永逸:配置一次,以后都走国内镜像
    -豆瓣:少用
    -清华:推荐
    -阿里云
    
    
# 永久换源步骤
1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中
2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件
3、新增 pip.ini 配置文件内容
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
use-mirrors =true
mirrors =https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host =pypi.tuna.tsinghua.edu.cn

5 虚拟环境搭建

# 为什么会出现?
    -开发一个项目使用django 1.11.11
    -开发一个项目使用djagno 2.2.2
    -同一个操作系统上,只能装某一个版本的第三方模块
    
# 虚拟环境解决
    -一个项目一个环境,有自己的第三方模块,相互不影响
    -有个总环境系统python环境
# virtualenv 解决方案
	-pip3 install virtualenv   # 虚拟环境模块
	-pip3 install virtualenvwrapper-win # win上,更方便的使用virtualenv的扩展

#  使用步骤
    -第一步:安装两个模块
        virtualenv
        virtualenvwrapper-win
    -第二步:配置
    	# 配置环境变量:
        变量名:WORKON_HOME  变量值:自定义存放虚拟环境的绝对路径
        WORKON_HOME: D:\Virtualenvs
        # 同步配置信息:安装了virtualenvwrapper-win,就会有
        # 去向Python3的安装目录 => Scripts文件夹 => virtualenvwrapper.bat => 双击
        
    -第三步:虚拟环境命令
        # 1、创建虚拟环境到配置的WORKON_HOME路径下(或者使用管理员身份进入终端直接敲)
        # 基于某Python环境创建虚拟环境:创建并进入了,以后再敲python,pip统统都用虚拟环境的
            -- mkvirtualenv -p python2.7 虚拟环境名称
            -- mkvirtualenv -p python3 虚拟环境名称

        # 2、查看已有的虚拟环境
            -- workon

        # 3、使用某个虚拟环境
            -- workon 虚拟环境名称

        # 4、进入|退出 该虚拟环境的Python环境
            -- python | exit()

        # 5、为虚拟环境安装模块
            -- pip或pip3 install 模块名

        # 6、退出当前虚拟环境
            -- deactivate

        # 7、删除虚拟环境(删除当前虚拟环境要先退出)
            -- rmvirtualenv 虚拟环境名称

MacOS,Linux使用

安装

# 建议使用pip3安装到python3环境下
pip3 install -i https://pypi.douban.com/simple virtualenv
pip3 install -i https://pypi.douban.com/simple virtualenvwrapper

工作文件

# 先找到virtualenvwrapper的工作文件 virtualenvwrapper.sh,该文件可以刷新自定义配置,但需要找到它
# MacOS可能存在的位置 /Library/Frameworks/Python.framework/Versions/版本号文件夹/bin
# Linux可能所在的位置 /usr/local/bin  |  ~/.local/bin  |  /usr/bin
# 建议不管virtualenvwrapper.sh在哪个目录,保证在 /usr/local/bin 目录下有一份
# 如果不在 /usr/local/bin 目录,如在 ~/.local/bin 目录,则复制一份到 /usr/local/bin 目录
	-- sudo cp -rf ~/.local/bin/virtualenvwrapper.sh /usr/local/bin

配置

# 在 ~/.bash_profile 完成配置,virtualenvwrapper的默认默认存放虚拟环境路径是 ~/.virtualenvs
# WORKON_HOME=自定义存放虚拟环境的绝对路径,需要自定义就解注
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

# 在终端让配置生效:
	-- source ~/.bash_profile

使用

# 在终端工作的命令

# 1、创建虚拟环境到配置的WORKON_HOME路径下
# 选取默认Python环境创建虚拟环境:
	-- mkvirtualenv 虚拟环境名称
# 基于某Python环境创建虚拟环境:
	-- mkvirtualenv -p python2.7 虚拟环境名称
	-- mkvirtualenv -p python3.6 虚拟环境名称

# 2、查看已有的虚拟环境
	-- workon

# 3、使用某个虚拟环境
	-- workon 虚拟环境名称
	
# 4、进入|退出 该虚拟环境的Python环境
	-- python | exit()

# 5、为虚拟环境安装模块
	-- pip或pip3 install 模块名

# 6、退出当前虚拟环境
	-- deactivate

# 7、删除虚拟环境(删除当前虚拟环境要先退出)
	-- rmvirtualenv 虚拟环境名称

6 luffy后台创建Django项目

环境

"""
为luffy项目创建一个虚拟环境
>: mkvirtualenv luffy
"""

"""
按照基础环境依赖
>: pip install django==2.0.7
>: pip install djangorestframework
>: pip install pymysql
"""

创建项目

"""
前提:在目标目录新建luffy文件夹
>: cd 建立的luffy文件夹
>: django-admin startproject luffyapi

开发:用pycharm打开项目,并选择提前备好的虚拟环境
"""

重构项目目录

"""
├── luffyapi
	├── logs/				# 项目运行时/开发时日志目录 - 包
    ├── manage.py			# 脚本文件
    ├── luffyapi/      		# 项目主应用,开发时的代码保存 - 包
     	├── apps/      		# 开发者的代码保存目录,以模块[子应用]为目录保存 - 包
        ├── libs/      		# 第三方类库的保存目录[第三方组件、模块] - 包
    	├── settings/  		# 配置目录 - 包
			├── dev.py   	# 项目开发时的本地配置
			└── prod.py  	# 项目上线时的运行配置
		├── urls.py    		# 总路由
		└── utils/     		# 多个模块[子应用]的公共函数类库[自己开发的组件]
    └── scripts/       		# 保存项目运营时的脚本文件 - 文件夹
"""

配置开发环境

"""
1.修改 wsgi.py 与 manage.py 两个文件:
# manage.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.dev')
# wsgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.prod')
# manage_prod.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.prod')

2.将settings.py删除或改名,内容拷贝到settings/dev.py中

3.修改dev.py文件内容
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False

4.修改启动配置:见插图

5.在任何一个__init__.py文件中测试默认配置文件是否是dev.py文件
from django.conf import settings
print(settings)
"""

配置开发环境简述


# 创建完项目,目录调整
	-在项目的luffyapi路径下创建一个apps文件夹,以后所有app都放在当前路径下
    	-第一个:在根路径创建app,拖进去
        -第二个:直接在apps文件夹下创建app
        	python ../../manage.py startapp home
	-把apps路径和小luffyapi加入到环境变量,以后注册app,直接写名字即可
    	sys.path.append(os.path.join(BASE_DIR, 'apps'))
        # 把小luffyapi加入环境变量
        sys.path.append(BASE_DIR)
    -在小luffyapi下创建一个settings文件夹
    	-dev.py  #开发阶段用的配置文件
        -pro.py  #上线阶段用的配置文件
        
    -在manage.py 中修改配置文件启动位置
    	os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.dev')
        
    -项目上线,使用uwsgi运行项目需要改wsgi.py,把它的配置文件改成(目前先不管)
    	os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.pro')
    -在项目根路径创建log文件夹放日志
    -在小luffyapi目录下,创建libs文件夹,以后放第三方模块
    -在小luffyapi目录下,创建utils文件夹,以后放公共的代码
    -在项目根路径下新建scripts文件夹,以后放测试文件
    

补充

# 装饰器
	-函数装饰器
    	-装饰函数的
        -无参装饰器
        -有参装饰器    #指的是装饰器有参,无参,不是被装饰的函数
        
        -模板
        def auth(func):
            def inner(*args,**kwargs):
                # 逻辑
                res=func(*args,**kwargs)
                # 逻辑
                return res
           	return inner
        @auth   #add=auth(add)--->add=inner---->现在的add就是inner
        def add(a,b):
            return a+b
        
        add(1,2)---->inner(1,2)
        
    -类装饰器
    	-第一种:加在类中方法上的装饰器   
        -第二种:类作为装饰器        
        class Person:
        	def __init__(func):
                self.func=func
            def __call__(*args,**kwargs)
            	# 逻辑
                res=self.func(*args,**kwargs)
                # 逻辑
                return res
        @Person     # add=Person(add)---->add变成了Person的对象
        def add(a,b):
            return a+b
    	add(1,2)--->person(1,2)
posted @ 2022-07-05 08:57  马氵寿  阅读(67)  评论(0编辑  收藏  举报