当前位置: 首页>后端>正文

python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址

一些概念

WSGI

Web Server Gateway Interface:web服务器网关接口,是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。

python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址,python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址_python,第1张

IP地址

IP地址由网络地址和主机地址组成,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

端口号

所谓的端口,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,(一台计算机上可以同时提供很多个服务),每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号。

通过IP地址可以连接到指定计算机,但如果想访问目标计算机中的某个应用程序,还需要指定端口号。在计算机中,不同的应用程序是通过端口号区分的。端口号是用两个字节(16位的二进制数)表示的,它的取值范围是0-65535,其中,0-1023之间的端口号用于一些知名的网络服务和应用,用户的普通应用程序需要使用1024以上的端口号,从而避免端口号被另外一个应用或服务所占用。

python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址,python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址_端口号_02,第2张

localhost,127.0.0.1,本机IP

1.localhost,127.0.0.1不需要联网;本机IP需要联网
2.localhost是域名,127.0.0.1是回环地址,本机IP地址访问的话,等于本机是通过网络再去访问本机。
3.localhost对应的地址是“ 127.0.0.1”,整个127.* 网段,(通过域名解析将域名指向网站空间IP),也就是127.0.0.0到127.255.255.255都是环回地址(只是有两个特殊的保留)。

所谓回环地址,是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址)。

此地址中的任何地址都不会出现在网络中,同一台主机上的两项服务若使用环回地址而非分配的主机地址,就可以绕开TCP/IP协议栈的下层。(也就是说:不用再通链路层,物理层和互联网,而是可以直接在自己的网络层,运输层进行处理)用通俗一点的话说,localhost 是 家 ,ip是家的地址,一说起家 ,对自己家人,提起家,都默认知道家的位置,但是对其它人,提起,就需要报家的地址呢。

一个简单的实现

app=Flask(__name__)
@app.route('/')     #路由定义
def index():
    return '哈哈哈哈'   #视图函数  view

app.run()  #融合服务器并开启

python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址,python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址_IP_03,第3张

app.run()函数的参数

1.port参数:端口号。默认5000

2.host参数:当设置为0.0.0.0才可以使同一局域网下的主机通过IP地址访问。默认为本机访问

3.debug参数:若为False以部署时的内容为准,代码改了刷新浏览器也不会有改动(适用于production环境),设置为True即可实现只要代码改变服务器就会重新加载(适用于开发环境development)。默认为False

在设置这个参数为True的时候遇到了这个报错:

python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址,python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址_端口号_04,第4张

查找了一些资料,比较多的一个解释就是说这可能是IPython编辑器的问题,如果直接通过cmd运行就没问题(试了下,确实是这样,另外补充下,笔者用的是Spyder),如果有路过的大佬知道怎么解决还请多多指教。

关于配置

app.config.from_object(config)

通过这个函数查看当前的配置,关于配置的设置,可以直接在运行文件中设置,但是这样会导致运行文件内容比较多,故在工程内,经常将配置解耦,单独建立一个配置文件,然后在运行文件下导入即可。

配置文件:config.py
DEBUG=True
ENV='development'
运行文件:app1.py
import config
app=Flask(__name__)
app.config.from_object(config)  #带使用对应配置

请求和响应

接下来,修改一下起初的代码,做个实验

from flask import Flask
import config
app=Flask(__name__)
app.config.from_object(config) 
print(app.config)

@app.route('/')     #路由定义0
def index():
    return '憨憨你好哈哈哈哈哈呀'   

@app.route('/test')     #路由定义1
def index2():
    return '憨憨'

@app.route('/test2')     #路由定义2
def index3():
    return '憨憨你好'
app.run(host='0.0.0.0',port=8000)

实验发现,当在浏览器中输入 http://……:8000/test时,浏览器显示的是憨憨;http://……:8000/显示的是憨憨你好哈哈哈哈哈呀;http://……:8000/test2显示的是憨憨你好;也就是说有着不同的路由响应。

以/test为例观察讲解一下:

python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址,python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址_IP_05,第5张

http协议中的请求和响应:

请求

请求行:就是请求访问的地址以及请求方法(get,post)

请求头:key:value格式组成

python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址,python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址_flask_06,第6张

请求体:get请求方式没有请求体,先跳过

响应

响应行:包括状态码,比如:200 ok,404等

响应头:

python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址,python中怎么修改flask项目的启动端口 flask怎么指定服务器ip地址_IP_07,第7张

可以看到服务器就是python服务器。

响应体:想让用户看到的东西,在这个例子里就是“憨憨”



https://www.xamrdz.com/backend/3fu1962932.html

相关文章: