欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-20 12:38:28
一:虚拟环境介绍黄色部分重点你注意虚拟环境与全局环境:我们通过pip安装了一个python库,可能在编辑器中不能使用(如:pycharm,vscode…)这是因为:通过pip安装的库默认一般安装在全局环境中,而PyCharm一般会默认创建虚拟环境,所以两者的环境不一致,导致安装的包不能正常导入使用,解决办法有一般有2种:......

一:虚拟环境介绍

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

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

安装虚拟环境的原因:

•一般情况下,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和视图介绍

虚拟环境的创建:

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

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

虚拟环境安装好之后,可在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和视图介绍
•当再次返回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可以指定访问的端口。

本文地址:https://blog.csdn.net/qq_45261963/article/details/109035166

相关标签: python flask