搭建局域网服务器

通过 Python 自带的库创建虚拟环境并启动

在 Terminal 中 cd 到想要创建虚拟环境的目录下, 输入

python -m venv flask_study_env

flask_study_env 可替换为你想要的任何名字. 若显示错误, 可尝试将 python 换成 python3.

稍等片刻, 虚拟环境即可创建完毕, 输入

ls flask_study_env

即可查看自动创建的文件夹内的文件.

输入

source flask_study_env/Scripts/activate

启动虚拟环境.

此时你会发现命令行的起始位置始终带有

(flask_study_env)

表明虚拟环江已成功启动.

使用 flask 框架编写网站的 py 文件

from flask import Flask

'''
初始化: Flask必须创建程序实例
一般用 __name__ 作为参数, 该变量是系统变量, 指的是该 py 文件的文件名
'''
app = Flask(__name__)

'''
路由和视图函数
客户端发送 url 给 web 服务器, web 服务器将 url 转发给 flask 程序实例
需要知道对于每一个 url 请求启动那一部分代码,所以保存了一个 url 和 python 函数的映射关系。
处理 url 和函数之间关系的程序,称为路由
在 flask 中,定义路由最简便的方式,是使用程序实例的 app.route 装饰器,把装饰的函数注册为路由
'''
@app.route('/')
def index():
    return '<h1>欢迎来到我的主页~</h1>'

保存文件, 命名为 web_server.py
那么到现在, 最简单的框架搭起来的最简单的网站就可以运行啦~

如果想直接见到效果的话, 可以直接看下面一部分.

接下来, 再为我们的网站添加一份声明:

@app.route('/about')
def about():
    return '<h1>这是我在局域网上的第一个网站!'

添加一个简单的效果:

@app.route('/echo/<msg>')
def echo(msg):
    return '<h1>我可以重复你说的话哦~</h1><h2>你刚才说了: {}</h2>'.format(msg)

这个函数可以让用户输入的语句显示在屏幕上.

完整代码如下:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return '<h1>欢迎来到我的主页~</h1>'

@app.route('/about')
def about():
    return '<h1>这是我在局域网上的第一个网站!'

@app.route('/echo/<msg>')
def echo(msg):
    return '<h1>我可以重复你说的话哦~</h1><h2>你刚才说了: {}</h2>'.format(msg)


'''
用run方法启动flask集成的开发web服务器
服务器启动后,会启动轮询,等待并处理请求。轮询会一直请求,直到程序停止。
'''
if __name__ == '__main__':
    app.run(host='0.0.0.0', post=5000, debug=True) 

启动服务器!

在命令行中输入

export FLASK_APP = web_server.py
flask run

按下回车后, 会给出提示

flask run
* Serving Flask app “web_server.py”
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

现在就可以通过浏览器正常访问啦~
打开浏览器, 在顶端的网址栏输入

127.0.0.1:5000

或者

localhost:5000

回车后就可以看到
运行结果
我们再看看另外两个函数的效果:
about
echo
但此时如果你对 web_server.py 文件做修改并保存, 再刷新页面你会发现怎么没有变化呐?

此时必须 Ctrl + C 停止运行后再次运行我们的主页才会跟现在的 py 文件相同, 这显然对开发时的调试很不友好.

如果在运行前输入:

export FLASK_DEBUG = 1

即可启动调试.
这样修改完 py 文件并保存后刷新页面, 就是即时的效果了.

将网站放到局域网上

只要家里有路由器都可以试一试~
只要在运行时在添加一句配置;

flask run --host 0.0.0.0

表示整个网络, 即网络中的所有主机

这样, 在手机上也可以访问我们刚刚创建的网站啦~

手机访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值