flaskrun命令行交互界面系统开发程序实例分析及应用
当我们安装Flask后,会自动添加一个flask命令脚本,我们可以通过flask命令执行内置命令、扩展提供的命令或是我...
一、启动Flask1.flaskrun
Flask通过依赖包Click外置了一个CLI(CommandLineInterface,命令行交互界面)系统。当我们安装Flask后,会手动添加一个flask命令脚本,我们可以通过flask命令执行外置命令、扩展提供的命令或是我们自己定义的命令,可以执行falsk--help查看所有可用的命令。其中,flaskrun命令拿来启动外置的开发服务器。flaskrun命令运行的开发服务器会默认窃听:5000/,并开启多句柄支持。
在开发时假如我们使用的IDE是PyCharm的话,这么使用PyCharm外置的运行功能会更便捷。
2.手动发觉程序例子
后面我们可以直接flaskrun运行程序是由于Flask会按照以下规则手动侦测程序例子:
从当前目录中找寻app.py和wsgi.py模块,并从中寻求名为app或application的程序例子
从环境变量FLASK_APP对应的值寻求名为app或application的程序例子
由于我们的程序主模块是app.py,因此这儿我们执行flaskrun命令会手动从当前目录中找寻程序例子。假如我们的程序主模块是其他名称,例如说是hello.py,这么还要设置环境变量FLASK_APP,将包含程序例子的模块名形参给这个变量。
windows中使用setFLASK_APP=hello命令
linux和mac中使用exportFLASK_APP=hello命令
3.使服务器外部可见
我们在后面启动的web服务器默认是对外不可见的,在日常开发中会有同后端对接检测数据的状况,这时侯我们要在flaskrun命令后添加--host选项将主机地址设置为0.0.0.0使其对外可见。
这时服务器会窃听所有外部恳求,然而由于我们笔记本没有内网IP,所有只好网段网内的其他笔记本通过我们的网段IP访问,例如我的网段IP是192.168.1.188,当网段网内其他用户访问:5000/时,都会听到浏览器里显示“HelloFlask!”Flask提供的web服务器默认窃听的是5000端口,我们也可以在启动时传到--port参数来改变它。
其实,我们也可以通过环境变量FLASK_RUN_HOST和FLASK_RUN_PORT设置ip和端口。
二、设置运行环境
开发环境(developmentenviroment)
开发环境是指我们在本地撰写和检测程序时的计算机环境
生产环境(productionenviroment)
生产环境指的是网站布署上线供用户访问时的服务器环境
按照运行环境的不同,Flask程序、扩展以及其他程序会改变相应的行为和设置。为了辨别程序运行环境,Flask提供了一个FLASK_ENV环境变量拿来设置环境,默认为production,在我们开发时可以将其设为development,这回开启所有支持开发的特点。
若果是通过pycharm运行的话,也可以在程序主模块中通过app.config['FLASK_ENV']=development设置。
在开发环境下,调试方式(Debugmode)将被开启,这时执行flaskrun命令启动程序会手动激活Werkzeug外置的调试器(debugger)和重载器(reloader)。假如想单独控制调试器方式的继电器,可以通过FLASK_DEBUG变量设置,1为开启,0为关掉。
1.调试器
Werkzeug提供的调试器十分强悍,当程序出错时,我们可以在网页上看见具体的错误追踪信息,在调试错误时特别有用
调试器容许我们在错误页面上执行python代码,单击错误信息两侧的命令行窗口,会弹出一个窗口让我们键入PIN码,这个PIN码就是启动服务时命令行窗口复印下来的DebuggerPIN。键入PIN码以后会打开一个包含代码上下文信息的pythonshell,我们可以借助它来进行调试。
2.重载器
当我们对代码做了更改以后,期望的行为是这种改动随即作用到程序上。重载器的作用就是检查文件变动,于是再次启动开发服务器,当我们更改了代码并保存以后,会在命令行见到如下输出:
默认会使用Werkzeug外置的stat重载器,它的劣势是好点比较严重,但是精确性通常。我们可以安装另一个适于检查文件变动的python库Watchdog,安装后Werkzeug会手动使用它来检查文件变动,pipinstallwatchdog.
须要留意的是,假如项目中使用了css或js文件时,浏览器或许会缓存这种文件,以便引起对文件作出的更改不能立即生效,可以crtl+F5或shift+F5执行硬重载,即忽视缓存并重载页面
当前非电脑浏览器正常宽度,请使用移动设备访问本站!