python Flask 写一个简易的 web 端程序(附demo)

news2024/11/14 15:13:35

python Flask 写一个简易的 web 端程序 (附demo)

  • 介绍
  • 简单
    • 介绍装饰器 @app.route("/")
  • 进阶
    • 增加接口
    • 设置端口
  • 静态网页
      • 核心代码
      • 完整代码


介绍

Flask 是一个用于构建 Web 应用程序的轻量级 Python Web 框架。它设计简单、易于学习和使用,但同时也非常灵活,适用于从小型项目到大型应用程序的各种场景。

特点和概念描述
轻量级Flask 是一个轻量级框架,没有强制性的依赖关系,允许开发者自由选择和集成其他库。
路由使用装饰器来定义 URL 路由,将不同的 URL 映射到相应的处理函数上。
模板引擎集成 Jinja2 模板引擎,允许在 HTML 中嵌套 Python 代码,方便动态内容的渲染。
Web 表单提供简单而灵活的方式来处理 Web 表单,可以使用 Flask-WTF 等扩展简化表单的验证和处理。
扩展性提供丰富的扩展库,允许开发者集成数据库、身份验证、缓存等功能,根据项目需求进行选择和定制。
RESTful 支持对 RESTful 风格的 API 提供良好支持,结合 Flask-RESTful 等扩展可以轻松构建 RESTful API。
WSGI 兼容符合 WSGI 标准,可以在大多数支持 WSGI 的 Web 服务器上运行。

简单

确保已经安装了Flask。如果还没有安装,可以通过以下命令进行安装(控制台命令安装):

pip install Flask

在这里插入图片描述

介绍装饰器 @app.route(“/”)

@app.route("/") 是 Flask 中用于定义路由的装饰器。它用于将一个 URL 路径映射到一个特定的视图函数,使得在访问特定路径时能够执行相应的操作。

我先写一个最简单的案例。如下面代码:

from flask import Flask

app = Flask(__name__)


@app.route('/')
def index_hello():
    return "你好,我是首页"


if __name__ == '__main__':
    app.run()

app.run() 这是 Flask 应用程序对象 (app) 的方法,用于启动 Web 服务器以提供应用服务。

在这里插入图片描述

效果
在这里插入图片描述

进阶

增加接口

同理,如果我们要写一个接口也可以使用装饰器来进行如下面

from flask import Flask

app = Flask(__name__)


@app.route('/')
def index():
    return "你好,我是首页"


@app.route('/get_type')
def get_type():
    return ["语文", "数学"]


if __name__ == '__main__':
    app.run()

在这里插入图片描述

在这里插入图片描述

设置端口

from flask import Flask

app = Flask(__name__)


@app.route('/')
def index():
    return "你好,我是首页"


@app.route('/get_type')
def get_type():
    return ["语文", "数学"]


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=9680)

app.run(host='0.0.0.0', port=9680) 是用于启动 Flask 应用程序的方法。它指定了应用程序监听的主机地址和端口号。

  • host='0.0.0.0' 这个参数指定了服务器监听的网络接口。在这里,0.0.0.0 表示服务器将会监听所有可用的网络接口,即对外开放。这允许通过网络访问应用程序,而不仅仅是通过本地机器。如果指定为 localhost127.0.0.1,则只能通过本地访问。

  • port=9680 这个参数指定了服务器监听的端口号。在这里,设置为 9680,表示应用程序将在该端口上接收传入的 HTTP 请求。

参数名类型默认值描述
hoststr | NoneNone指定服务器监听的主机地址。如果为 None,则服务器只能通过本地访问。如果为 ‘0.0.0.0’,则服务器将监听所有可用的网络接口,对外开放。
portint | NoneNone指定服务器监听的端口号。如果为 None,则使用默认端口号(通常是 5000)。可以设置为任何合适的整数,如 8080 或 9680。
debugbool | NoneNone用于启用或禁用调试模式。如果为 True,则启用调试模式,提供更详细的错误信息和自动重新加载应用程序。默认为 None,根据应用程序是否处于调试模式自动设置。
load_dotenvboolTrue指定是否加载 .env 文件中的环境变量。默认为 True,表示 Flask 将尝试从 .env 文件加载环境变量。

在这里插入图片描述
在这里插入图片描述

静态网页

在前面代码的基础上,我们去增加目录 templates 并调整代码:

核心代码

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

Flask.render_template 是 Flask 框架中用于渲染模板的方法。这个方法使得应用程序中使用模板引擎将动态数据嵌入到静态 HTML 页面中,以生成最终的用户界面。

完整代码

文件:main.py

from flask import Flask, render_template

app = Flask(__name__)


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


@app.route('/get_type')
def get_type():
    return ["语文", "数学"]


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=9680)

文件 index.html

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>首页</title>
</head>

<body>
我是首页,首页内容
</body>

</html>

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1431437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【30秒看懂大数据】数据指标

公众号&#xff1a;知幽科技 PS:本文属专栏第24篇 简单说 数据指标是指对企业经营数据转化为可量化、可衡量、可对比、可预测的一个度量或者维度同称。 举例理解 你在小区门口开了一家馒头店。 开业第一天你算了下一共卖了50个馒头&#xff0c;一共收款100元&#xff0…

今日arXiv最热NLP大模型论文:引入噪声,可提升RAG检索效果超30%??

检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;简称RAG&#xff09;系统的出现&#xff0c;提高了LLMs回答生成的准确性。它分为两个部分:检索与生成。检索即利用检索器从海量文档中检索出与查询最相关或者最相似的段落&#xff0c;而生成则是LLMs针对混…

幻兽帕鲁客户端存档文件 - 云上备份和恢复教程

本文将详细介绍如何将幻兽帕鲁游戏客户端的存档文件备份至云端&#xff0c;以及如何从云端恢复存档数据至本地。 一、游戏存档备份场景 幻兽帕鲁的游戏进度存储在电脑本地磁盘上&#xff0c;游戏中创建的每个世界都对应一个本地存档文件夹。在玩游戏过程中&#xff0c;客户端…

备战蓝桥杯---搜索(优化1)

显然&#xff0c;我们可以用BFS解决&#xff0c;具体实现与八数码类似&#xff1a; 下面是代码&#xff1a; #include<bits/stdc.h> using namespace std; #define N 3000000 string a,b; int hh,dis[N],cnt; struct node{string u,v; }bian[7]; map<string,int>…

Python flask 表单详解

文章目录 1 概述1.1 request 对象 2 示例2.1 目录结构2.2 student.html2.3 result.html2.4 app.py 1 概述 1.1 request 对象 作用&#xff1a;来自客户端网页的数据作为全局请求对象发送到服务器request 对象的重要属性如下&#xff1a; 属性解释form字典对象&#xff0c;包…

基于微信小程序的旅游景点移动自助导游系统

景点移动自助导游系统用户端要求在系统的安卓手机上可以运行&#xff0c;主要实现了线上查看旅游景点和景点预定等相关信息的查看&#xff0c;并且根据需求进行对管理端&#xff1b;首页、个人中心、用户管理、旅游景点管理、景点类型管理、景点预定管理、旅游路线管理、地图导…

769933-15-5,Biotin aniline,可以合成多种有机化合物和聚合物

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;769933-15-5&#xff0c;Biotin aniline&#xff0c;生物素苯胺&#xff0c;生物素-苯胺 一、基本信息 产品简介&#xff1a;Biotin Aniline&#xff0c;一种具有重要生物学功能的化合物&#xff0c;不仅参与了维生…

使用 Visual Studio Code 在远程计算机上调试 PostgreSQL

使用 Visual Studio Code 在远程计算机上调试 PostgreSQL 1. 概述 PostgreSQL 是一个功能强大的开源关系数据库管理系统&#xff0c;适用于各种应用程序。在开发过程中&#xff0c;调试 PostgreSQL 对于识别和解决问题至关重要。在本博客中&#xff0c;我们将手把手教你使用客…

uniapp 组件封装

1. uniapp 组件封装时间戳格式化为星期 1.1. components/m-week.vue <template><text>{{week}}</text> </template> <script>export default {props: {time: String},mounted(e) {this.week this.getWeek(Number(this.time))},data() {return …

Java设计模式(GOF)-23中设计模式-更新中

推荐&#xff1a;关注 IT技术馆 原文阅读 馆长准备了很多学习资料&#xff0c;其中包含java方面&#xff0c;jvm调优&#xff0c;spring / spring boot /spring cloud &#xff0c;微服务&#xff0c;分布式&#xff0c;前端&#xff0c;js书籍资料&#xff0c;视频资料&#x…

r0下进程保护

简介 SSDT 的全称是 System Services Descriptor Table&#xff0c;系统服务描述符表。这个表就是一个把 Ring3 的 Win32 API 和 Ring0 的内核 API 联系起来。SSDT 并不仅仅只包含一个庞大的地址索引表&#xff0c;它还包含着一些其它有用的信息&#xff0c;诸如地址索引的基地…

数据库管理-第144期 深入使用EMCC-01(20240204)

数据库管理144期 2024-02-04 数据库管理-第144期 深入使用EMCC-01&#xff08;20240204&#xff09;1 用户管理2 配置告警动作3 配置意外事件规则总结 数据库管理-第144期 深入使用EMCC-01&#xff08;20240204&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&am…

打破语言障碍!五个跨境电商必备的实时翻译工具推荐

打破语言障碍&#xff01;随着全球化市场的扩展&#xff0c;语言障碍成为了客户服务领域的一大难题&#xff0c;特别是对于需要出海的企业来说&#xff0c;如何有效地和国外的客户沟通成为了关键。传统的翻译服务往往耗时且成本高昂&#xff0c;无法满足时效性强的客户服务需求…

差分信号:一种提高信号传输质量的神奇方式

在我们的日常生活中&#xff0c;会遇到各种各样的信号传输&#xff0c;比如手机、电视、网络等等。 为什么需要差分信号 在这些信号传输中&#xff0c;我们很多时候使用的是单端信号传输方式。比如使用固定电话打电话时&#xff0c;你有一根信号线和一根地线&#xff0c;电话…

【学习笔记】树上差分总结(点差分/边差分)

一.树上差分的基本概念 1.树上差分的定义 树上差分&#xff0c;顾名思义&#xff0c;意思就是在树上做差分。 至于什么是差分呢&#xff1f;如果不会的同学&#xff0c;可以先看看我的这篇博客:一维,二维差分の详解&#xff08;简单易懂&#xff09;_一维差分-CSDN博客 2.树…

Unity动画循环偏移的使用

最近项目中有一个需求是做煤矿中猴车的动画&#xff0c;动画本身不复杂&#xff0c;但是猴车很多&#xff0c;怎么能简化工作量呢&#xff1f; 首先单个猴车的动画循环是必须要做的&#xff0c;重点是怎么让不同的猴车动画按顺序错开&#xff0c;研究了以下&#xff0c;可以通过…

Python爬虫从基础到入门:数据接口实战--获取豆瓣阅读热度最高的书籍信息

接着上一篇文章&#xff1a;Python爬虫从基础到入门&#xff1a;找数据接口&#xff0c;接下来实战一下&#xff0c;以获取豆瓣阅读这个网站热度最高的书籍信息为例&#xff0c;网址为&#xff1a;豆瓣阅读 Python爬虫从基础到入门&#xff1a;数据接口实战--获取豆瓣阅读热度…

APK签名 v1、 v2、v3、v3.1、v4 解析

在 Android 应用签名中&#xff0c;V1 V2 V3 V4签名是不同的签名方案&#xff0c;具体描述如下&#xff1a; V1 签名&#xff08;JAR 签名&#xff09;&#xff1a;早期 Android 应用签名的基本形式&#xff0c;基于 Java 签名&#xff08;JAR 签名&#xff09;规范。它将应用…

红日靶场1搭建渗透

环境搭建 下载好镜像文件并解压&#xff0c;启动vmware 这里我用自己的win7 sp1虚拟机作为攻击机&#xff0c;设置为双网卡NAT&#xff0c;vm2 其中用ipconfig查看攻击机ip地址 设置win7 x64为双网卡&#xff0c;vm1&#xff0c;vm2 设置win08单网卡vm1&#xff0c;win2k3为单…

基于微信小程序的家庭个人理财产品投资系统

家庭理财管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户&#xff0c;更好存储所有数据信息及快速方便的检索功能&#xff0c;对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性&#xff0c;遵循开发的系统优化的原则&#xf…