我爱Flask框架之Flask简介与URL和视图介绍

一:虚拟环境介绍

黄色部分重点注意
虚拟环境与全局环境:

我们通过pip安装了一个python库,可能在编辑器中不能使用(如:pycharm,vscode…)这是因为:
通过pip安装的库默认一般安装在全局环境中,而PyCharm一般会默认创建虚拟环境,所以两者的环境不一致,导致安装的包不能正常导入使用,解决办法有一般有2种:
       •给PyCharm安装虚拟环境,使库安装虚拟环境中
       •将PyCharm的环境设置为全局环境,即我们通常使用的Python,设置为Python的安装目录即可:
如图下 红框即为全局变量
我爱Flask框架之Flask简介与URL和视图介绍_第1张图片

安装虚拟环境的原因:

       •一般情况下,Python第三方库安装是直接通过pip install xxx的方式进行安装的,这样会使库安装在python全局环境中。
这样做面临的问题:如果用Flask 1.10写了个网站,但是同时有一个Flask 0.9开发的项目需要开发维护,并且有可能Flask 1.10不再兼容Flask 0.9的一些语法,这就需要同时拥有Flask 1.10和Flask 0.9两种不同环境,这时我们就需要通过虚拟环境来解决此类问题。

虚拟环境的安装:

       •python中虚拟化管理工具很多,最常用的是pipenv

pipenv的安装:

       •Windows下安装:

pip install pipenv

       •Mac下安装

brew install pipenv

       •Linux下安装

pip install pipenv

虚拟环境创建前的准备:

虚拟环境默认会安装到系统盘(C盘)下的当前用户目录下的== .virtualenvs 目录下,如果想指定安装到其他目录,可以设置系统环境变量==,在系统变量中添加变量,变量名为WORKON_HOME,值为需要指定安装的目录(文件夹)
名字可以自己取 自己可以找到的文件夹
如图所示:
我爱Flask框架之Flask简介与URL和视图介绍_第2张图片

虚拟环境的创建:

       •WIN+R 输入cmd进入
我爱Flask框架之Flask简介与URL和视图介绍_第3张图片
       •进入需要创建虚拟环境的文件夹:
我爱Flask框架之Flask简介与URL和视图介绍_第4张图片

       •安装pipenv之后即可创建虚拟环境。创建虚拟环境使用命令pipenv shell 如图所示:
我爱Flask框架之Flask简介与URL和视图介绍_第5张图片
       •安装完成后使用pip list命令,即可看到此虚拟环境安装的库
我爱Flask框架之Flask简介与URL和视图介绍_第6张图片

       •虚拟环境安装好之后,可在PyCharm中设置虚拟环境为当前创建的虚拟环境,即定位选择虚拟环境下的python.exe可执行文件,方法与前面相同

pipfile与pipfile.lock

       •在创建虚拟环境后,虚拟环境目录下会生成pipfile文件,内容如下:

[[source]]
name = "pypi"
url = "https://pypi.org/simple"   # 在默认情况使用国外源下载库会非常慢,可以指定国内pip源,
verify_ssl = true 

[dev-packages]  # 开发环境

[packages] # 生产环境

[requires] # Python版本
python_version = "3.7"

       •pipfile.lock详细记录环境依赖,并且使用了Hash算法以保证完整的对应关系
       •如果需要将安装的库记录到Pipfile中,可以使用pip install --dev 库名将库安装到开发环境
       •在虚拟环境中用run参数运行项目示例如下:

pipenv run python manage.py runserver

       •pipenv有一个缺点:
       •lock不稳定而且时间非常长,所以安装包的时候记得加上==–skip-lock==,如下:

pipenv install django --skip-lock

       •最后开发完成要提交到仓库的时候再执行pipenv lock命令

Flask的介绍

flask是一款非常流行的Python Web框架,诞生于2010年,作者是Armin Ronacher,这个项目最初只是作者在愚人节的一个玩笑,后来由于非常受欢迎,逐渐成为一个正式的项目。
flask自2010年发布第一个版本以来,大受欢迎,深得开发者的喜爱,并且在多个公司已经得到了应用,flask能如此流行的原因,可以分为以下几点:
       •微框架、简洁,只做它需要做的,灵活度非常高,给开发者提供了很大的扩展性
       •Flask不会帮开发者做太多的决策,一切都可以按照自己的意愿进行更改。
       •使用Flask开发数据库的时候,具体是使用SQLAlchemy还是MongoEngine,选择权完全掌握在开发者自己的手中。区别于Django,Django内置了非常完善和丰富的功能,并且如果想替换成开发者想要的,要么不支持,要么非常麻烦。
       •把默认的Jinija2模板引擎替换成其他模板引擎都是非常容易的。
       •Flask和相应的插件写得很好。
       •开发效率非常高,比如使用SQLAlchemy的ORM操作数据库可以节省开发者书写大量sql的时间。

我爱Flask的第一个程序:
# 从flask框架中导入Flask类
from flask import Flask

# 传入__name__初始化一个Flask实例
app = Flask(__name__)


# 装饰器,将当前路由映射到指定函数
@app.route('/')
def hello_world():
    return 'Hello World'


if __name__ == '__main__':
    app.run()

       •输出结果:

 * Serving Flask app "first" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

       •1. 此时只需点击图中蓝色网址即可看到输出‘Hello World’
       •2. 也可在在浏览器中打开http://127.0.0.1:5000/
我爱Flask框架之Flask简介与URL和视图介绍_第7张图片
       •当再次返回pycharm时,可以在开启的服务状态栏下看到请求的记录,如:

127.0.0.1 - - [13/Oct/2020 19:19:45] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [13/Oct/2020 19:19:45] "GET /favicon.ico HTTP/1.1" 404 -

       •注意说明
              •@app.route(’/’) :装饰器映射URL和执行的函数。这个设置将URL映射到指定的函数上,例中指定当前路由为根目录,如果为根目录时也可以不写 /,但是尽量写上以示区别。
              •app.run():是让flask项目运行起来,可以指定主机号和端口号。
默认的host是127.0.0.1,port为5000,host=0.0.0.0可以让其他电脑也能访问到该网站,port可以指定访问的端口。

有问题可以在评论指正,欢迎讨论,谢谢大家!!

你可能感兴趣的:(Flask框架,python,flask)