安装Python
如果你还没有安装Python3,请去官网下载,安装完成后,就可以尽情使用Python了。
安装Flask
首先创建一个工程目录,叫falsk_learn
,进入该目录。
你以前开发了Python
应用,版本是1.0,现在这个依赖包更新到1.1,你想使用1.1版本体验新功能,如果直接升级将会导致以前的应用无法使用,由于Python
不同应用可能依赖包版本不一样,这时候可以为不同应用使用不同的虚拟环境,而不是全部是依赖Python安装包目录site-packages
下面的依赖包。
如果你的Python
环境不低于3.4,你可以使用以下命令创建一个虚拟环境:
python3 -m venv venv
第一个venv
表示内置的venv
包,第二个是虚拟环境名称,即文件夹名称。创建完之后,flask_learn
目录里面会多一个目录叫venv
,这个虚拟环境里面是干净的,没有任何Python
包,虽然你的Python
以前通过pip3
命令安装了很多第三方包,这是个干净、全新的Python
虚拟环境.,像PyCharm
这种高级编辑器都是直接将虚拟环境创建好的。
创建完成后还需要激活环境,此时你是位于flask_learn工程根目录,类unix
环境可以通过以下命令:
source venv/bin/activate
Windows
环境则需要在命令行输入命令
venv/bin/activate
此时,你的命令行会变成这样:
(venv) D:\space\PyCharmSpace\flask_learn>
命令行前面会多出(venv)
,表明你已经正式进入Python
虚拟环境,接下来你进行的任何pip3 install
安装,或者pip3 uninstall
卸载命令,都只是跟这个虚拟Python
环境有关,与系统的全局Python
环境无关。
Flask
是Python
的一个web
开发模块,使用之前需要使用pip3 install
命令安装。
pip3 install flask
不出意外,你肯定已经成功安装了。
当然了,当前输入Python
也是可以进入Python3
命令行的。
(venv) D:\space\PyCharmSpace\flask_learn>python3
Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'requests'
>>> import flask
虽然全局Python以前装过requests
包,可是这里不识别,因为这是虚拟环境,只属于当前应用。
第一个Hello World应用
Python
中应用程序通常是存在于包中的,这里新建一个名为app
的包,里面包含一个__init__.py
文件,内容为:
from flask import Flask
app = Flask(__name__)
from app import routes
上面代码从flask
包导入了Flask
类,并且实例化了一个Flask
对象,传入的__name__
是Python
的预定义变量,表示当前调用它的模块的名字。routes.py
里面主要存放地址路由到视图函数的映射。此时代码文件层次是这样的:
app
__init__.py
routes.py
venv
routes.py
里面定义一个视图函数,代码为:
from app import app
@app.route('/')
@app.route('/index')
def index():
return 'Hello World!'
注意:Python
包是从__init__.py
开始加载的,_init__.py
里面定义了一个app=Flask(__name__)
,然后接着导入routes.py
,这时候在routes.py
里面from app import app
从包app
导入初始化的应用变量app
,刚好这个app
已经初始化过了。所以__init__.py
里面初始化app
与导入routes.py
顺序是依次的,不可颠倒。
定义了一个视图函数index
,@app.route()
装饰器将路径与视图函数做了关联,当浏览器地址输入'/'
或者'/index'
时,都将进入index
函数中,里面可以编写复杂的处理逻辑。from app import app
第一个app
表示包名,第二个app
表示包的__init__.py
里面的app
变量(也就是app = Flask(__name__)
定义的这个app
)。
由于app
是一个应用包,这里再新建一个python
文件作为启动脚本flask_learn.py
,里面写上:
from app import app
现在,工程结构是这样的:
app
__init__.py
routes.py
venv
flask_learn.py
运行之前,需要通过设置FLASK_APP
环境变量告诉Flask
如何导入它:
(venv) $ export FLASK_APP=flask_learn.py
如果是windows
操作系统则把export
换为set
即可:
(venv) D:\space\PyCharmSpace\flask_learn>set FLASK_APP=flask_learn.py
环境、代码都准备好了,现在开始启动你的第一个flask
应用,通过flask run
命令:
(venv) D:\space\PyCharmSpace\flask_learn>flask run
* Serving Flask app "flask_learn.py"
* 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)
启动成功,服务器5000
端口被监听,等待客户端连接,浏览器输入地址:
http://localhost:5000/
或者
http://localhost:5000/index
浏览器都会返回一个字符串:
Hello World!
命令行Ctr C
即可停止。
猜你喜欢