购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 Debug模式、Host、Port配置

Debug模式、Host、Port这3个配置项分别代表是否开启调试模式、项目运行使用的Host(可以先简单理解为访问项目的域名)、项目运行监听的端口号。这3个配置项单独拿出来讲,是因为它们在项目开发中使用的频率非常高,并且使用的是不同的开发工具,所以配置方式也不同。为了讲解方便,这里首先创建一个新的项目demo02,读者可以自行下载相关代码学习。下面分别学习这3个配置项的意义和配置方式。

2.1.1 Debug模式

在使用Flask框架开发项目的过程中,会不断地添加新代码或者修改原代码,如果没有开启Debug模式,那么在修改代码后,必须要手动重新启动项目才能看到运行效果,这样会大大降低开发效率。所以一般在开发时,都会开启Debug模式,这样在代码修改完成后,只要单击“保存”按钮,或者按Ctrl+S快捷键,那么Flask将会自动重启项目。另外,如果程序出错了,在开启Debug模式下,在浏览器端会显示错误信息,并且标记错误行号,对于定位bug(故障)有非常大的帮助。那么Debug模式怎么打开呢?这要根据是否使用PyCharm Professional版来决定,以下分别进行讲解。

1. 在PyCharm Professional版中开启Debug模式

如果你使用的是PyCharm Professional版,则需要单击右上角demo02(即项目名称)右侧下拉按钮,然后在弹出的下拉列表中选择Edit Configurations命令,如图2-1所示。

图2-1 编辑项目配置

在打开的本项目的编辑界面选中FLASK_DEBUG复选框,然后单击OK按钮即可,如图2-2所示。

图2-2 选中FLASK_DEBUG复选框

下面单击右上角的运行按钮运行项目,便可以看到在PyCharm控制台显示已经开启了Debug模式,如图2-3所示。

图2-3 开启Debug模式

接下来打开浏览器,在浏览器的地址栏中输入http://127.0.0.1:5000,可以看到网页中显示Hello World!。现在返回到PyCharm中,将字符串Hello World!修改成Hello Flask!,然后按Ctrl+S快捷键保存代码,可以看到PyCharm的控制台会自动地重新加载项目,如图2-4所示。

图2-4 重新加载项目生成的日志信息

在项目重新加载完成后,回到浏览器中,重新访问http://127.0.0.1:5000,可以看到网页上的显示信息已经变成了Hello Flask!。在这个过程中我们不需要手动地重启项目,这大大提高了开发效率。

2. 在非PyCharm Professional版中开启Debug模式

如果使用的是其他软件编写Flask项目,如PyCharm Community或Vistual Studio Code等,那么需要在app.run方法调用时,添加debug=True参数。在PyCharm Community版中打开项目并添加debug=True参数,如图2-5所示。

图2-5 在PyCharm Community中开启Debug模式

因为PyCharm Community版中没有集成Flask的运行模式,所以运行Flask项目时需要按照常规的Python程序来执行,也就是在app.py文件的任意空白处右击,然后在弹出的快捷菜单中选择Run 'app'命令,如图2-6所示。

开始运行app.py后,即可在PyCharm Community的控制台看到日志信息,也可以看到Debug模式已经被开启了,如图2-7所示。

以上便是Debug模式的开启方式,读者可以根据实际情况进行设置。Debug模式在开发过程中调试代码、定位bug非常方便,但是在项目部署上线后,记得一定要关闭Debug模式,否则项目一旦出现异常,相关代码就会显示在浏览器上,很容易被有心之人利用,从而威胁网站的安全。

图2-6 在PyCharm Community中运行Flask项目

图2-7 PyCharm Community控制台显示开启了Debug模式

2.1.2 设置Host和Port

Host代表的是主机,Port代表的是端口号。下面举一个实际的例子来简单解释Host和Port。例如,百度首页网址为https://www.baidu.com:443,其中冒号前面的www.baidu.com即为Host,冒号后面的443即为Port。百度首页网址用的是https协议,因为https协议默认监听的是443端口,所以在访问百度首页网址时,即使没有写明443端口,浏览器也会自动请求百度服务器的443端口,即通过https://www.baidu.com就可以访问到百度首页。

运行Flask项目后,如图2-7所示,可以看到控制台的打印信息Running on http://127.0.0.1:5000,此时的Host是127.0.0.1,Port是5000。如何修改Host和Port呢?这也要看是否使用的是PyCharm Professional版。下面分别进行讲解。

1. PyCharm Professional版修改Host和Port

首先,同修改Debug模式一样,先单击右上角项目名称旁的下拉按钮,然后在弹出的下拉列表中选择Edit Configurations命令,如图2-8所示。

图2-8 PyCharm Professional编辑项目配置

打开编辑窗口后,找到Additional options,如图2-9所示。

首先来修改Port,在Additional options文本框中添加“--port=8000”(port前面两个“-”),然后单击OK按钮,如图2-10所示。回到PyCharm Professional主面板后,再单击运行按钮,即可在PyCharm Professional控制台看到项目监听的端口已经从之前的5000变成了8000,如图2-11所示。

以后我们再访问此项目时,就需要通过http://127.0.0.1:8000来访问了。

读者可能会好奇,在什么情况下需要修改Port呢?假设现在需要运行两个Flask项目A和B,如果不修改端口号,则A和B两个项目监听的都是5000端口,这样会导致其中一个项目不能被访问到。此时我们可以将B项目的端口号修改成8000,以后在浏览器中访问http://127.0.0.1:5000就是A项目,访问http://127.0.0.1:8000就是B项目,这样就能非常明确地区分开来。总而言之,在5000端口被占用的情况下,都可以通过修改Port来让项目正常地运行起来。

图2-9 添加额外参数

图2-10 设置Port参数

图2-11 修改Port后的日志信息

接下来修改Host。修改Host的步骤与修改Port是一样的,在Additional options文本框中添加一个“--host=0.0.0.0”参数即可,如图2-12所示。

图2-12 添加Host配置

Host不是修改成什么都可以的,必须是以下三种之一。

本机的局域网IP地址。IP地址在Windows系统下可以在cmd命令行终端中输入ipconfig命令查看,在Mac或者Linux下系统可以通过ifconfig命令查看。如

查看笔者的局域网IP地址,如图2-13所示。

图2-13 查看笔者的局域网IP地址

如果设置成了局域网IP地址,那以后不管是自己的计算机访问,还是局域网中其他设备访问,都需要通过局域网IP地址才能访问到。

127.0.0.1:代表本机的IP地址。如果设置成本机的IP地址,则项目只能在自己的计算机上访问。局域网中其他用户不能访问。

0.0.0.0:代表既可以通过127.0.0.1访问,也可以通过局域网IP地址访问。

如果在项目中想让局域网中的其他用户访问,一般会把Host设置成0.0.0.0,这样别人能通过运行项目的计算机的局域网IP地址访问到项目,在本机上也可以通过127.0.0.1访问到项目。如图2-12所示设置,读者可以在家中同一个局域网下,用手机打开浏览器,输入http://局域网IP地址:8000,也可以访问到计算机上运行的Flask项目。

2. 非PyCharm Professional版修改Host和Port

在没有使用PyCharm Professional的情况下,只需要在app.run方法中传入host和port参数即可,如图2-14所示。

需要注意以下两点。

port参数必须设置为整型,不能设置为字符串。

host设置为0.0.0.0后,虽然控制台日志显示的是http://192.168.0.10:8000,但是在本机上也可以通过http://127.0.0.1:8000访问项目,其他设备则可以通过http://192.168.0.10:8000访问到项目。

图2-14 非PyCharm Professional下修改host和port k4EF/Bb+uJAFfYwCKmYoLzjqx3Ynvd/7o2elncvXZq6jHbpGenPUxfA8ilUcaE9C

点击中间区域
呼出菜单
上一章
目录
下一章
×