转载自:
https://www.cnblogs.com/sellsa/p/9242391.html
安装开发环境
下载Python win版安装包
双击运行,选择自定义安装,勾选Add Python 3.6 to PATH
安装完成之后,进入cmd窗口,输入python即可进入python环境
这里我们使用virtualenv虚拟开发环境
为什么使用virtualenv?
1、使用不同应用开发环境独立开发
2、环境升级不影响其他应用,也不会影响全局的Python环境,虚拟环境就是讲全局环境做一个私有的复制
3、它可以防止系统中出现包管理混乱和版本的冲突
安装virtualenv
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">pip install virtualenvwrapper-win</pre>
创建一个虚拟环境 flask-env
虚拟环境的基本操作
虚拟环境基本操作
本地磁盘D新建项目目录:my_flask
打开Pycharm,创建Flask项目
创建完成后,my_flask.py是这个项目的主程序
my_flask.py
使用pycharm启动项目:Run-->Run...-->my_flask, 默认启动的端口是5000,通过浏览器访问http://127.0.0.1:5000
更改启动端口
如果我们不想使用默认的5000端口,可以给app.run()传递一个port参数,比如8000端口
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">if name == 'main':
app.run(port=8000)</pre>
更改绑定地址
默认只绑定了127.0.0.1,如果我们想让局域网其他电脑也能够方法,就需要绑定到本机其他ip,我们可以绑定0.0.0.0
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">if name == 'main':
app.run(host='0.0.0.0')</pre>
debug模式
在开发过程中,我们需要开启debug模式,如果出现异常,浏览器会显示错误信息及位置,方便开发者调试
开启debug模式还有个好处就是:当我们修改完代码,按ctrl + s保存代码后会自动重启服务
开启debug模式方法1:
在app.run()方法添加参数debug=True
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">if name == 'main':
app.run(debug=True)</pre>
开启debug模式方法2:
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">app = Flask(name)
app.debug = True</pre>
开启debug模式方法3:
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">app = Flask(name)
app.config.update(DEBUG=True)</pre>
开启debug模式方法4:
在项目下面单数创建一个配置文件config.py,里面就可以写配置信息了,这里我只需要写一行
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">DEBUG = True</pre>
然后我们需要在主程序my_flask.py中导入这个config,并且配置使用它来作为配置
|
1
2
3
4
|
import
config
...
app.config.from_object(config)
...
|
我们来故意写个错误的代码
[](javascript:void(0); "复制代码")
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">@app.route('/') def hello_world():
a = 10 b = 0
c = a /b #0是不能被作为除数的,这样写肯定会报错
return c</pre>
](javascript:void(0); "复制代码")
如果我们开启了debug模式,浏览器会显示错误原因
如果没有开启debug模式,则是单纯的显示内部服务器错误,这样不利于我们排查
配置文件
配置文件已经在debug模式的第4种方法种提到过得一种,这种也是我喜欢用的
其实还有另外一种方式: 使用app.config.from_pyfile的方式加载配置文件
这种方式不需要import, 直接使用app.config.from_pyfile('config.py')就可以了, 注意这个地方,必须要写文件全名,后缀名不能少!
1、这种方式加载配置,不局限于只能使用py文件,普通的txt文件同样适用
2、这个方式,可以传递silent=True,当这个配置文件没有找到的时候,不会抛出异常
<pre style="margin: 0px; padding: 0px; overflow: auto; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">app.config.from_pyfile('config.txt', silent=True)</pre>