要基于编程开发一个完整的企业项目.不管什么样的项目,基本都有3种不同的开发模式,这几种开发模式,如果把项目类比成建造房子.则有如下:
-
原生开发.类似从0开始造房子,从0开始构建项目,什么东西都是自己实现的
-
敏捷开发, [基于框架,开发工具]从一个半成品开发到成品
-
二次开发, 从公司原有的项目,或者从开源项目中,进行改造,不需要的功能隐藏或者删除,没有的功能,进行开发集成.
从开发速度来说: 二次开发—> 敏捷开发—> 原生开发
从开发难度来说: 原生开发—> 二次开发—> 敏捷开发
1从项目性能来说: 原生开发—> 敏捷开发—> 二次开发
市场面上: django, flask, sanic, tornado, FastAPI, twsited
Django基础——环境、安装等
Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。
Django 是一个开放源代码的 Web 应用框架,由 Python 写成。
Django 遵守 BSD 版权,初次发布于 2005 年 7 月, 并于 2008 年 9 月发布了第一个正式版本 1.0 。
Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)。
目前开源软件发布一般会有2个不同的分支版本:
1. 普通发行版本: 经常用于一些新功能,新特性,但是维护周期短,不稳定.
2. 长线支持版本[LongTerm Supper]: 维护周期长,稳定
软件版本格式: 大版本.小版本.修订号
大版本一般是项目内容/软件的核心架构发生改动, 以前的代码已经不适用于新的版本
小版本一般是功能的删减, 删一个功能,小版本+1, 减一个功能,小版本+1
修订号一般就是原来的代码出现了bug, 会针对bug代码进行修复, 此时就会增加修订号的数值
官网: http://www.djangoproject.com
文档:https://docs.djangoproject.com/zh-hans/3.2/
安装:
pip install django
pip install django==3.2
或者
pip源:
https://pypi.douban.com/simple/ 豆瓣源
https://pypi.tuna.tsinghua.edu.cn/simple 清华源
使用格式:
pip install django -i https://pypi.douban.com/simple/
虚拟环境
Virtualenvs
1 安装 virtualenvs
# 虚拟环境的依赖库
pip install virtualenv
# 虚拟环境的外壳操作库, 提供了一系列的全局命令
pip install virtualenvwrapper
# 兼容windows
pip install virtualenvwrapper-win
2 常用命令
| 命令 | 参数选项 | 描述 |
|---|---|---|
| workon | 列出当前系统中所有的虚拟环境 | |
| workon <虚拟环境名称> | 进入指定名称的虚拟环境中, 路径左边就会出现虚拟环境名称, 在有虚拟环境的名称时,所有的pip都是基于对应虚拟环境的目录才操作 | |
| mkvirtualenv <虚拟环境名称> | -p 指定python解析器版本 | 创建一个指定名称的虚拟环境,一个虚拟环境就是一个目录. |
| deactivate | 在虚拟环境内部退出环境 | |
| pip freeze | 列出当前环境下开发者使用pip安装的包列表,作用类似于pip list,但是比pip list好用 | |
| pip freeze > ./requriments.txt | requriments.txt是瞎写的.不是固定 | 备份虚拟环境中的所有依赖包列表 |
| pip install -r ./requriments.txt | 还原备份的虚拟环境包列表 | |
| rmvirtualenv <虚拟环境名称> | 删除指定名称的虚拟环境[慎重使用,删除前建议备份] |
anaconda
查看当前Anaconda的系统配置信息
conda info
# 列出当前系统中所有虚拟环境,环境列表左边*号表示当前所在环境
conda env list # 也可以使用 conda info -e
# 新建虚拟环境
# -n <虚拟环境名称> 或者 --name <虚拟环境名称>
# 表示设置当前虚拟环境的名称
# python=<python版本号>
# 表示设置当前虚拟环境的python版本,如果本地没有会自动下载安装
# <包名>==<版本号>
# 表示创建虚拟环境时同时安装一个或多个指定第三方包
# 可指定版本号,如果不指定版本,则安装当前python环境能支持的最新版本的包
# 注意:
# 指定包的版本时,有可能会因为没有这个版本或当前python环境不支持当前版本而导致虚拟环境创建失败。
# 所以,建议指定包版本时,尽量使用*号表示小版本,例如:django==1.*
conda create -n <虚拟环境名称> python=<python版本号> <包名1>==<版本号> <包名2> ... <包名n>
# 例如:
conda create -n python27 python=2.7
conda create -n python36 python=3.6 pymongo
conda create -n mofang python=3.8 flask celery
conda create -n renran python=3.6 django==2.2.0 pymysql
# 克隆虚拟环境
conda create -n <新的虚拟环境名称> --clone <旧的虚拟环境名称>
# 进入/切换到指定名称的虚拟环境,如果不带任何参数,则默认回到全局环境base中。
conda activate <虚拟环境名称>
# 退出当前虚拟环境
conda deactivate
# 给指定虚拟环境安装/或者更新一个或多个指定包
# 当然也可以在进入虚拟环境以后,通过pip install <包名> 来完成安装工作
conda install -n <虚拟环境名称> <包名1>==<版本号> <包名2> ... <包名n>
# 给指定虚拟环境卸载一个或多个指定包
# 当然也可以在进入虚拟环境以后,通过pip uninstall <包名> 来完成卸载工作
conda remove -n <虚拟环境名称> <包名1>==<版本号> <包名2> ... <包名n>
# 删除指定虚拟环境
conda remove -n <虚拟环境名称> --all
# 导出当前虚拟环境的Anaconda包信息到环境配置文件environment.yaml中
conda env export > environment.yaml
# 根据环境配置文件environment.yaml的包信息来创建新的虚拟环境
conda env create -f environment.yaml
# 查看conda版本
conda -V
# 更新Anaconda的版本,这里可以先执行conda update,系统会自动提示完整并正确的命令
conda update --prefix <anaconda安装目录> anaconda
### 以下命令,和Anaconda没半毛钱关系,和项目部署/迁移有关。
# 查看当前虚拟环境中已经安装的包
pip freeze # 这里列出的是我们手动安装的包
pip list # 这里列出的不仅有我们手动安装的包,还有虚拟环境运行的依赖包
# 导出当前虚拟环境中的所有包并记录到requirements.txt文件中
pip freeze > ./requirements.txt
# 往当前虚拟环境中导入requirements.txt文件中记录的所有包。
pip install -r requirements.txt