【Flask学习】1.3使用扩展包

背景

Flask是一个小型框架,没有提供一些重要的功能,例如数据库和用户认证,但是具有很强的扩展性,所以开发者可以自由选择适合的包,或者自行开发。

使用Flask-Script

拿1.1节启动服务器为例,运行时的命令参数全部填写在脚本文件的app.run()函数中,如果要使用不同的参数即要修改文件再运行,比较麻烦。
幸运的是,社区成员已经开发了解决此类烦恼的扩展–Flask-Script,它自带一组常用选项,而且还支持自定义命令。使用命令pip install flask-script安装后,即可以按以下的例子修改脚本:

from flask import Flask
from flask_script import Manager

app = Flask(__name__)
manager = Manager(app)

...

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

扩展安装后,模块功能从一个叫flask_***的包中import。扩展的初始化方法如例子见到的:把程序实例app作为参数传递给构造函数,初始化主类的实例。服务器由manager.run()启动,启动后就能解析命令行了。

在启动服务的文件目录下,输入python hello.py,会显示用法信息:

(website) D:\web-project>python manage.py
usage: manage.py [-?] {shell, runserver} ...

positional arguments:
  {shell, runserver}
  ...

在启动服务的文件目录下,输入python hello.py runserver --help,会显示启动服务的用法信息:

(website) D:\web-project>python manage.py runserver --help
usage: manage.py runserver [-?] [-h HOST] [-p PORT] [--threaded]
                           [--processes PROCESSES] [--passthrough-errors] [-d]
                           [-D] [-r] [-R] [--ssl-crt SSL_CRT]
                           [--ssl-key SSL_KEY]

Runs the Flask development server i.e. app.run()

optional arguments:
  -?, --help            show this help message and exit
  -h HOST, --host HOST
  -p PORT, --port PORT
  ...

–host参数是1个很有用的选项,它明确服务器在哪个网络接口上监听来自客户端的连接。
如果不输入–host选项,默认情况下服务器监听localhost上的连接,只接受来自服务器所在计算机发起的连接。如果–host=0.0.0.0,则服务器监听公共网络接口上的连接,允许同网中的其他计算机连接服务器。

(website) D:\web-project>python manage.py runserver --host=0.0.0.0
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
* Restarting with reloader
...

同网中的计算机可以使用http://a.b.c.d:5000/访问web服务器,其中a.b.c.d是web服务器的外网IP地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值