第一章-Python Web框架Flask开发之Hello World

安装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环境无关。

FlaskPython的一个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即可停止。

猜你喜欢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据技术派

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值