在上篇文章中,我们成功运行了第一个Flask程序并留了一个思考给大家,运行出来的网址点击后就会弹出一个浏览器并显示Hello World!文字,而不是显示其他文字呢。
首先我们看回源代码和运行结果,如下图所示:
我们发现网址最后的/和源代码中的app.route('/')是对应的,其运行逻辑如下图所示:
首先客户端访问服务器中的http://127.0.0.1:5000/,服务器接收到请求后,先去查找有没有http://127.0.0.1:5000/,有则响应返回调用@app.route中的函数,否则返回404。所以这里就打印出了Hello World!
又例如:
我们访问霖hero_CSDN博客并关注一波,首先我们发送请求到CSDN博客 - 专业IT技术发表平台服务器中,然后服务器查看有没有weixin_52122271,有就返回给客户端。
运行完app.py,大致了解了app.py里面的内容后,我们开始初始化flask及设置其环境配置。
app.run()启动app.py程序后,系统默认的是http://127.0.0.1:5000/,那么我们如何修改里面的数据呢,例如端口号、主机名怎么设定呢,这时我们可以在app.run()中传递参数,其代码如下:
app.run(host=None,port=None,debug=None,load_dotenv=True)
其中:
-
host:ip地址,将此设置为“0.0.0.0”,以让服务器在外部也可以访问,默认为127.0.0.1;
-
port:Web服务器的端口,一个端口号对应一个程序,默认值为5000;
-
debug:调试模式,当debug=True时,只要代码改变,当你刷新页面时服务器就会重新加载最新的代码,适用于开发环境,默认为Flase,适用于产品环境;
-
load_dotenv:加载最近的文件.env和文件.flaskenv,用于设置环境变量的文件,也会改变工作环境,目录到包含找到的第一个文件的目录,默认为True;
具体示例如下所示:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(host='0.0.0.0',port=8080,debug=True,load_dotenv=True)
运行结果如下图所示:
我们发现运行结果中Debug mode对应的参数是on,表示开启。
点击图中的网络地址就会跳转如下:
当我们修改app.py里面的代码时,Terminal就会自动加载最新的代码,如下图所示:
配置环境为了满足我们开发的需求,都要重新配置一下Flask的环境配置,首先新建一个app1.py文件,其内容如下所示:
from flask import Flask
app=Flask(__name__)
print(app.config)
@app.route('/')
def index():
return "第一个Flask"
if __name__ == '__main__':
app.run()
运行结果如下图所示:
我们可以看到红色方框里面有很多配置属性,在实际开发中,需要修改一些配置,例如上面的ENV,DEBUG等配置,例如:
app.config['ENV']='development' app.config['DEBUG']='True'
当修改的配置多了之后,不可能在启动文件中编写代码的,启动文件越简单越好,那么我们可以创建一个setting.py文件来存放一些配置。具体示例代码如下:
#配置文件 ENV='development' DEBUG='True'
这里我们只演示两个配置,创建配置文件后,我们在app1.py中修改一下代码,具体代码如下所示:
from flask import Flask
import settings
app=Flask(__name__)
app.config.from_object(settings)
print(app.config)
@app.route('/')
def index():
return "第一个Flask"
if __name__ == '__main__':
app.run(port=8080)
首先我们导入配置文件settings,然后通过app.config.from_object(settings)来修改我们的配置。
运行结果如下图所示:
这样我们就成功修改了配置。
好了,有关flask的初始化及配置就讲到这里了,感谢观看!!!下篇文章继续学习Flask框架的其他知识!!!



