django基础-1

317 阅读5分钟

要基于编程开发一个完整的企业项目.不管什么样的项目,基本都有3种不同的开发模式,这几种开发模式,如果把项目类比成建造房子.则有如下:

  1. 原生开发.类似从0开始造房子,从0开始构建项目,什么东西都是自己实现的

  2. 敏捷开发, [基于框架,开发工具]从一个半成品开发到成品

  3. 二次开发, 从公司原有的项目,或者从开源项目中,进行改造,不需要的功能隐藏或者删除,没有的功能,进行开发集成.

    从开发速度来说: 二次开发—> 敏捷开发—> 原生开发

    从开发难度来说: 原生开发—> 二次开发—> 敏捷开发

    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)。

image.png

目前开源软件发布一般会有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.txtrequriments.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