flask web服务器:运行在云服务器上的最简单的web服务器

news2024/11/17 6:40:47

上期文章我们分享了flask的基础知识以及如何安装flask,当你安装完成flask后,我们就可以打造自己的web服务器了。

首先我们打印最简单的hello world,并在浏览器中显示

from flask import Flask
app = Flask(__name__)@app.route('/')
def index():
    return 'hello flask'
if __name__ == '__main__':
    app.run()

导入Flask模块

新建一个app,继承Flask,app是一个Flask应用程序的接口,浏览器访问网页是从路由入口进行访问

Flask 建立路由使用@app.route('/')的方式()里面的便是网页的路由地址(“/”)默认是IP地址的最初地址,路由下的函数便是完整的网页代码

我们实现一个最简单的web服务器,返回一个字符串

利用app.run()函数来启动flask web服务器

ok,运行以上代码

* Serving Flask app "flaskweb" (lazy loading)
 * Environment: production   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead. * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

代码运行后,flask会提示如上信息,前几条的意思我们后几期的文章一一分享,关键是看最后一行信息,我们运行在本机上,flask的默认端口是5000,在浏览器中输入以上地址http://127.0.0.1:5000便可以看到我们设计的最简单的网页了

flask web服务器

以上我们便成功运行了一个flask web 服务器

当然我们很少在浏览器中输入端口号,如何只输入http://127.0.0.1便可以看到网页呢?

其实,http默认监听系统的80端口,若我们修改一下flask的默认端口为80端口,是否就可以了?

let's try !!!

from flask import Flask
app = Flask(__name__)@app.route('/')
def index():
    return 'hello flask'
if __name__ == '__main__':
    app.run(port = 80)

在app.run(port = 80)中输入port=80 来修改flask的默认端口,成功运行一下

flask web服务器

可以看到,直接输入http://127.0.0.1就可以看到我们的网页了,其实你在浏览上输入http://127.0.0.1:80地址,浏览器也会自动除掉80端口

浏览器的路由

from flask import Flask
app = Flask(__name__)@app.route('/index')
def index():
    return 'hello flask'
if __name__ == '__main__':
    app.run(port = 80)

浏览器的路由可以帮忙我们在一个网站地址下面建立不同的网页

如上我们在('/index')输入浏览器路由为/index,顾名思义,当我们输入http://127.0.0.1/index时,便可以访问网页

let's try again

flask web 服务器

flask的网页

flask是一个web服务器框架,当然你完全可以在路由函数下建立自己的网站,不过前端的小伙伴们可是不愿意在这里搭建自己的网页,毕竟人家有自己的html5+CSS+JS 全家桶,那么flask是如何打造网页的呢

from flask import Flask, render_template
app = Flask(__name__)@app.route('/index')
def index():
    return 'hello flask'
@app.route('/url')
def first_url():
    return render_template('hello.html')

flask中的render_template便可以返回一个完整的网页,看到这里前端的小伙伴们可以放心了,又可以跟自己的html5+CSS+JS 全家桶打交到了,不过我们需要在flask运行目录下建立一个templates文件夹

所有的html的网页都必须放置在这个文件夹里,以便flask能够索引。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
hello world,hello flask</body>
</html>

我们在网页里面输入简单的代码,然后运行一下啊

try again and again

网页

flask成功运行!!!

看到这里,想必小伙伴们也入门了flask,前端方面的知识,小编不在这里 一一介绍,毕竟这也不是 小编的强项,我们还依然是人工智能方向的研究所,我们主要使用flask来提供web服务,来达到我们需要的功能

最后推荐一下人工智能研究所出品的目标追踪的专栏,喜欢人工智能,目标检测与目标追踪方向的小伙伴们可以一起探讨学习
《打造属于自己的天眼追踪系统》
还记得我们文章中留下的问题吗,下期我们一一来解读一下,并讲述一下如何使用域名,而不是 IP地址来访问网页

更多transformer,VIT,swin tranformer
参考头条号:人工智能研究所
v号:启示AI科技
微信中复制如下链接,打开,免费体验chatgpt
 
https://wx2.expostar.cn/qz/pages/manor/index?id=1137&share_from_id=79482&sid=24

动画详解transformer  

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

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

相关文章

【网络安全】【密码学】【北京航空航天大学】实验二、数论基础(中)【C语言和Java实现】

实验二、数论基础&#xff08;中&#xff09; 一、实验内容 1、扩展欧几里得算法&#xff08;Extended Euclid’s Algorithm&#xff09; &#xff08;1&#xff09;、算法原理 已知整数 a , b ,扩展的欧几里得算法可以在求得 a , b 的最大公约数的同时&#xff0c;找到一对…

顺序图作业

顺序图作业 一. 简答题&#xff08;共7题&#xff0c;100分&#xff09; (简答题) 交互是什么&#xff1f;请举 2-3 个交互的实际例子。 正确答案&#xff1a; 一次交互就是指在特定语境中&#xff0c; 为了实现某一个目标&#xff0c; 而在一组对象之间进行交换的一组 消息所…

字体包大小缩小的软件

Fontmin - 字体子集化方案https://ecomfe.github.io/fontmin/#app

JAVA制造业MES生产管理系统源码 MES源码

JAVA制造业MES生产管理系统源码 MES源码 开发环境&#xff1a;jdkeclipsetomcatmavenmysql 开发工具&#xff1a;MyEclipse 系统说明&#xff1a; MES制造执行系统&#xff0c;其定位于制造执行系统的Java开源版本&#xff0c;系统包括系统管理&#xff0c;车间基础数据建模&am…

Oracle DBCA工具图形化方式检测不到ASM磁盘组(解决各种报错)

本例环境&#xff1a; 操作系统OEL 6.5数据库版本:11.2.0.4 问题&#xff1a;DBCA建库的时候&#xff0c;检测不到ASM磁盘组 因素一&#xff1a; 可能是在授权的时候执行了 chown –R 775 /u01/app等修改权限。 分析&#xff1a;数据库无法连接ASM&#xff0c;这应该是权限…

代码随想录算法训练营第2天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

数组理论基础 文章链接&#xff1a;https://programmercarl.com/%E6%95%B0%E7%BB%84%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 977.有序数组的平方 题目链接&#xff1a;https://leetcode.cn/problems/squares-of-a-sorted-array/description/ 思路1.暴力排序 将每个数平…

国科 GK7201V200 SOC芯片

1.概述 GK7201V200 芯片是国科推出的新一代高集成度、高画质、低码率、低功耗的 AI IP Camera SoC 芯 片。 芯片集成 ARM Cortex A7 处理器&#xff0c;支持专业的 ISP 图像处理单元&#xff0c;H.265/H.264 视频编码&#xff0c;满足客户 差异化业务需求。同时集成了 Ethe…

国产六核CPU商显板,三屏异显,米尔基于全志D9360开发板

芯驰D9-Pro 自主可控、安全可信的高性能商显方案 采用国产CPU&#xff1a;集成了6个ARM Cortex-A551.6GHz 高性能CPU和1个ARM Cortex-R5800MHz&#xff1b; 高性能的高安全HSM安全的处理器&#xff0c;支持TRNG、AES、RSA、SHA、SM2/3/4/9&#xff1b; 它包含100GFLOPS 3D G…

打印的前后顺序

面试题经常会有 <script>console.log(1)setTimeout(function(){console.log(2)})console.log(3)let pnew Promise((resolve,reject) >{console.log(4)resloved(hhhhhh)})p.then(res >{console.log(res)console.log(5)},res >{console.log(7)})console.log(6)&l…

如何进行大数据系统测试

大数据系统常见的架构形式有如下几种&#xff1a; Hadoop架构&#xff1a; Hadoop Distributed File System (HDFS)&#xff1a;这是一种分布式文件系统&#xff0c;设计用于存储海量数据并允许跨多台机器进行高效访问。 MapReduce&#xff1a;作为Hadoop的核心计算框架&#…

JBOD详解

JBOD是存储领域中一类重要的存储设备。 英文全称Just a bunch of disks, 中文也称之为硬盘存储扩展柜。 它是传统存储系统赖以生存的根基之一&#xff0c;如果没有JBOD&#xff0c;那一下子就会省去很多部件&#xff1a;后端HBA、SAS扩展器/FC成环器、线缆、JBOD控制模块等等…

高周期的伦敦金交易机会转到低周期做 不可以吗?

一般的市场观点认为&#xff0c;交易信号出现在越高的时间周期上就越准确&#xff0c;成功的概率就越高。而低时间周期的信号&#xff0c;要推动高时间周期行情的发展&#xff0c;那几乎是不可能。因此多数人认为从高周期转到低周期&#xff0c;然后去捕捉高周期行情机会&#…

强化学习应用(二):基于Q-learning的无人机物流路径规划研究(提供Python代码)

一、Q-learning简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于马尔可夫决策过程&#xff08;MDP&#xff09;的问题。它通过学习一个价值函数来指导智能体在环境中做出决策&#xff0c;以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的…

GIS数据

version: 0.2 文章目录 1. GIS 数据类型2. 矢量2.1 Shapefile2.1.1 Wiki介绍2.1.2 重点总结2.1.3 样例 2.2 GeoJSON2.2.1 Wiki介绍2.2.2 重点总结2.2.3 样例 3. 栅格3.1 GeoTIFF3.1.1 Wiki介绍3.1.2 重点总结3.1.3 样例 4. 矢量栅格4.1 GeoPackage4.1.1 Wiki介绍4.1.2 重点总结…

3dmax灯光缓存参数怎么设置?解析来了!

细分&#xff1a;用来决定灯光缓存的样本数量&#xff0c;样本数量以此数值的平方来计算。数值越高&#xff0c;效果越好&#xff0c;速度越慢。一般出图建议1000到1800之间已经足够了。 采样大小&#xff1a;用来控制灯光缓存的样本尺寸大小&#xff0c;较小的数值意味着较小…

FastAdmin西陆教育系统(xiluEdu)开源代码

应用介绍 一款基于FastAdminThinkPHPUniapp开发的西陆教育系统&#xff08;微信小程序、移动端H5、安卓APP、IOS-APP&#xff09;&#xff0c;以下是教育系统所包含的一些功能&#xff1a; 视频课程&#xff1a;教育系统提供在线视频课程&#xff0c;学生可以通过网络观看教师…

dp专题11 一和零

本题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 思路&#xff1a; 由题意&#xff0c;这里有两个特征&#xff0c;要求满足选取的字符串总和中&#xff0c;0的个数和1的个数分别不超过m个0 和 n个 1&#xff0c;问选取的字符串最多有多少个…

Linux网络基础及bonding实际操作

1.查看linux基础的网络配置 网关&#xff1a;route -n ip地址&#xff1a;ifconfig 或 ip a DNS服务器&#xff1a;cat /etc/resolv.conf 主机名&#xff1a;hostname 路由&#xff1a;route -n 网络连接状态&#xff1a;ss 或 netstat 2.临时修改网卡名称 3.永久修…

IP核RAM学习

RAM 的英文全称是 Random Access Memory&#xff0c;即随机存取存储器&#xff0c;它可以随时把数据写入任一指定地址的存储单元&#xff0c;也可以随时从任一指定地址中读出数据&#xff0c;其读写速度是由时钟频率决定的。RAM 主要用来存放程序及程序执行过程中产生的中间数据…

在实验室内里的无奈

洋洋洒洒&#xff0c;随口就来。 不知道什么时候起&#xff0c;我喜欢静谧的环境&#xff0c;身边环境太嘈杂&#xff0c;我就容易心烦意乱&#xff0c;记得以前是完全没有这样的毛病的&#xff0c;不过好在&#xff0c;总是能找到安静的地方&#xff0c;我甚至一度极端&#x…