Windows系统上创建Flask服务器

为什么需要掌握服务器搭建技能?

掌握服务器搭建技能对于任何需要在线提供服务或平台的个人创意者来说都至关重要。服务器的作用是确保全球任何地方的用户都能顺利访问你的平台。因此,了解如何搭建和维护服务器,不仅能提升平台的稳定性和访问速度,还能让你在向他人推荐自己的平台时,确保他们能够无障碍地访问。

创建服务器的过程首先建议创建一个Python虚拟环境,然后再搭建Flask服务器。

创建Python虚拟环境

比如,我想为我的在线简历搭建服务器,方便招聘方访问我的在线简历,同时不说话就让招聘方能力我的编程和设计能力。

1)创建文件夹

在D盘或者C盘中,为需要创建服务器的软件平台一个文件夹,比如,我创建了一个名叫MyProfile的文件夹。

2)执行创建虚拟环境代码

进入该文件夹,右键,选择在终端中打开。

复制代码
python -m venv .venv

这行代码的作用是使用 Python 的 venv 模块在当前目录下创建一个名为 .venv 的虚拟环境目录。创建虚拟环境后,你可以在其中安装特定的 Python 包,且这些包只会影响当前项目,不会影响全局的 Python 环境。

该行代码执行后,会在我的MyProfile文件夹中多了一个名为.venv文件夹,可以使用该结果检查代码是否执行成功。

3)激活虚拟环境

使用下列代码激活该虚拟环境

复制代码
. .venv/Scripts/activate

可以检查终端中是否显示(.venv),如果显示的话,说明该虚拟环境激活成功。

创建Flask服务器

Flask服务器所需文件结构如下

复制代码
├── App.py # Flask服务器的Python逻辑代码,表示该Flask服务器是通过Python语句编写的
├── static # 用于存放CSS和JS代码文件的文件夹
└── templates # 用于存放HTML代码文件的文件夹

APP.py

Flask的Python逻辑代码语句如下

复制代码
from flask import Flask, request, jsonify, render_template
import os

app = Flask(__name__)

# 设置静态文件夹和模板文件夹
app.static_folder = 'static'
app.template_folder = 'templates'

@app.route('/')
def home():
    return render_template('index.html')

if __name__ == '__main__':

    # 启动服务器
    app.run(host='0.0.0.0', debug=True)
  • Flask服务器最重要的是路由的概念,上述代码创建了一个路由:'/' :表示当访问http://127.0.0.1:5000/ 会执行home函数。

  • 在home函数中,调用render_template将服务器中的"index.html"推送给浏览器。

  • app.run(host='0.0.0.0', debug=True) host='0.0.0.0': 表示 Flask 服务器可以接受来自任何 IP 地址的连接,通常用于开发阶段。如果你只想让本机访问,可以将其设置为 '127.0.0.1' (默认值)。

程序运行

运行程序:

复制代码
python App.py

点击回车键,就会在终端中看到返回的信息中包含一个url,这就是服务器地址,通过访问该地址就可以看到index.html的展示效果。

按住Ctrl键的同时,点击该url就能实现访问了。

以上就是从构建对应的虚拟环境然后创建Flask服务器,再通过该服务器运行程序的全过程。

相关推荐
映翰通朱工16 小时前
工业4G网关无公网IP远程运维实战(内网终端异地访问方案)
运维·服务器·网络·安全·智能路由器
洪晓露17 小时前
将 rke2 集群证书延长至 10 年
运维·服务器·数据库
IP老炮不瞎唠17 小时前
Python 价格监控如何实现?思路与实用方法分享
运维·服务器·网络
睡不醒男孩03082318 小时前
CLup 6.x 版本中针对StarRocks 存算一体集群的完整操作手册
java·服务器·网络·clup
Tokai_Teio_118 小时前
第四届黄河流域 misc
运维·服务器
what_201819 小时前
Linux 磁盘 (查看、划分、inode)
linux·运维·服务器
A_humble_scholar20 小时前
Linux(七)调度器:从硬件矛盾到进程切换的底层逻辑
linux·服务器·网络
C语言小火车21 小时前
嵌入式Linux应用开发技术栈完全指南
linux·运维·服务器
m0_7381207221 小时前
渗透测试基础——基于Docker的Rsync服务靶场搭建与原理讲解
运维·服务器·网络·安全·web安全·docker·容器
12点一刻1 天前
Hermes Agent 与 Superpowers 框架的区别?
运维·服务器