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服务器,再通过该服务器运行程序的全过程。

相关推荐
杨云龙UP9 分钟前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
Dovis(誓平步青云)12 分钟前
《Linux 信号入门:搞懂 “进程通信的紧急电话” 到底怎么用(初篇)》
linux·运维·服务器
autumn20051 小时前
Flutter 框架跨平台鸿蒙开发 - 历史人物对话
服务器·flutter·华为·harmonyos
亚空间仓鼠2 小时前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
AI成长日志3 小时前
【AI原生开发实战】1.2 传统开发 vs AI原生开发:思维转变与架构差异
服务器·架构·ai-native
2301_780789663 小时前
零信任架构在云安全落地过程中的最佳实践
服务器·人工智能·游戏·架构·零信任
the sun343 小时前
从 QEMU 直接启动到 U-Boot 引导:嵌入式 Linux 启动流程的本质差异
linux·运维·服务器
三思守心4 小时前
从 0 到 1 搭建自动化内容工厂:深度测评楼兰AI及其在全平台发帖中的表现
运维·服务器·自动化
草莓熊Lotso4 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql
ZKNOW甄知科技4 小时前
数智同行:甄知科技2026年Q1季度回顾
运维·服务器·人工智能·科技·程序人生·安全·自动化