
安装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即可停止。
猜你喜欢

592

被折叠的 条评论
为什么被折叠?



