Python武器库开发-flask篇之flask框架的安装(二十一)

news2024/11/27 20:32:00

Flask介绍

在这里插入图片描述

Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。

“微”(micro) 并不表示你需要把整个 Web 应用塞进单个 Python 文件(虽然确实可以 ),也不意味着 Flask 在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你做出太多决策——比如使用何种数据库。而那些 Flask 所选择的——比如使用何种模板引擎——则很容易替换。除此之外的一切都由可由你掌握。如此,Flask 可以与您珠联璧合。

默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能,如同是 Flask 本身实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。Flask 也许是“微小”的,但它已准备好在需求繁杂的生产环境中投入使用。

pipenv虚拟环境的安装

Python的虚拟环境是在Python基础环境上虚拟出的一个工作环境,目的是防止基础环境被污染,便于项目对包的管理。我们使用以下的命令便可以安装pipenv虚拟环境

apt install pipenv

我们可以运行以下的代码,如果出现下图所示的场景,则代表虚拟场景已经安装好了

pipenv --version

在这里插入图片描述

创建一个虚拟环境

现在我们已经安装好了一个pipenv虚拟环境,接下来我们需要去创建一个虚拟环境,执行如下的命令创建文件夹进入后创建虚拟环境

#创建文件夹
mkdir flask
#创建目录
cd flask
#创建虚拟环境
pipenv shell 

在这里插入图片描述

现在我们所处的位置就是一个和外界隔离开来的虚拟环境,我们可以通过以下的命令来查看当前的文件夹有哪些文件

ls

此时我们通过ls命令去查看,会发现当前文件夹下会出现一个Pipfile的文件,这个文件里记录了当前副本的一些基本情况

在这里插入图片描述

我们可以通过以下的命令查看当前副本的一些基本情况

cat Pipfile

在这里插入图片描述

安装flask

现在我们执行以下的命令在虚拟环境中安装flask

pipenv install flask

在这里插入图片描述

现在我们已经成功在虚拟环境中安装了flask框架

第一个应用的开发

接下来通过简单的代码教会大家使用flask框架开发第一个简单的应用,现在我们在上文中所搭建的虚拟环境下执行以下的代码,编辑脚本文件

vim app.py

在这里插入图片描述

进入编辑页面后,我们写入如下的代码:

#!/usr/bin/env python3

from flask import Flask

#初始化 
app = Flask(__name__)
#路由
@app.route('/')
def index():
    return 'Hello World!'

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

然后退出保存即可

接下来输入如下代码运行该脚本文件

python3 app.py

在这里插入图片描述

接下来我们只需要通过任意的浏览器输入 http://127.0.0.1:5000 这个URL,便可以访问这个程序的Web界面

在这里插入图片描述

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

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

相关文章

【科研新手指南2】「NLP+网安」相关顶级会议期刊 投稿注意事项+会议等级+DDL+提交格式

「NLP网安」相关顶级会议&期刊投稿注意事项 写在最前面一、会议ACL (The Annual Meeting of the Association for Computational Linguistics)IH&MMSec (The ACM Workshop on Information Hiding, Multimedia and Security)CCS (The ACM Conference on Computer and Co…

识别代理IP:保障网络安全的重要一环

在互联网的世界中,代理服务器被广泛用于隐藏用户真实IP地址,带来了一些挑战,特别是在网络安全和欺诈检测方面。本文将探讨如何识别代理IP,以确保网络的安全性和可靠性。 1. 代理IP的背景与用途 代理服务器是位于用户和目标服务器…

各路大神献出自定义GPTs,24小时Top名单

没有 GPTs 做不到的,只有你想不到的。 11 月 10 日凌晨, OpenAI 上线 GPTs,所有的 ChatGPT Plus 订阅用户都可以自己定制 GPT,无需任何编码知识,在聊天过程中就构建好了。 发布当天,OpenAI CEO 山姆・奥特曼…

安卓调用手机邮箱应用发送邮件

先来看看实现效果&#xff1a; 也不过多介绍了&#xff0c;直接上代码&#xff1a; private void openMail() {Uri uri Uri.parse("mailto:" "");List<ApplicationInfo> applicationInfoList getPackageManager().getInstalledApplications(Packa…

XMind 2023 mac/win:引领思维导图革命,让思维更直观、更高效!

XMind是一款引领思维导图的革命性软件&#xff0c;以其强大的功能和高效的操作体验&#xff0c;赢得了全球用户的广泛喜爱。作为一款思维导图软件&#xff0c;XMind将复杂的思维过程和想法以直观、清晰的方式呈现出来&#xff0c;让用户能够更好地理解、组织和表达自己的思想。…

Git推送本地代码到远程仓库

Git推送本地代码到远程仓库 1、首先需要安装Git&#xff0c;如果已经安装&#xff0c;请跳过。下载地址&#xff1a;https://git-for-windows.github.io/ 2、安装好git服务器后。首先找到你项目的文件夹&#xff0c;比如项目名称为Item&#xff0c;进入到这个文件夹&#xff0…

5 个基本步骤,学会创建自己的CRM流程

客户关系管理 (CRM) 系统是必备的客户数据库工具&#xff0c;用于跟踪潜在客户、现有客户、接触点等。使用可靠的技术来跟踪所有客户数据固然重要&#xff0c;但为该技术制定的流程更为关键。因这是用来管理客户和整个客户生命周期的策略。 什么是CRM流程&#xff1f; CRM流程…

SpringBoot从零到一项目实战落地博客系统(附源码!!!)

1.项目内容 1.1.页面展示 1.2.博客分类 1.3.面试辅导 1.4.私教带徒 1.5.文章编辑 1.6.后台管理 2.项目架构及技术描述 2.1.本项目用到的技术和框架 项目构建&#xff1a;Mavenweb框架&#xff1a;Springboot数据库ORM&#xff1a;Mybatis数据库连接池&#xff1a; HikariCP分…

MySQL锁机制详解

概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中&#xff0c;除了传统的计算资源&#xff08;如CPU、RAM、I/O等&#xff09;的争用以外&#xff0c;数据也是一种供需要用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一…

设备管理平台能做什么?企业如何做好设备维护管理工作?

在当今高度数字化的时代&#xff0c;企业运营离不开各种设备的支持。如何确保这些设备高效运转&#xff0c;降低故障率&#xff0c;成为了企业运营的关键问题。为此&#xff0c;设备管理平台应运而生&#xff0c;它借助数字化、移动互联网等技术&#xff0c;为企业提供全方位的…

kube-bench-CIS基准的自动化扫描工具学习

仓库地址&#xff1a;GitHub - aquasecurity/kube-bench: Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark kube-bench,检查 Kubernetes 是否根据 CIS Kubernetes 基准中定义的安全最佳实践部署,下载…

%与floormod方法区别

%求余数 计算步骤&#xff1a; 10 / -3 -3.333333........... %是向0方向取整&#xff0c;因此-3.3333.......取整数-3 10 % -3 10-&#xff08;-3*-3&#xff09; 1 floormod方法 计算步骤&#xff1a;floormod(10,-3) floormod是向负无穷方向取整&#xff0c;因此-3…

C#使用时序数据库 InfluxDB

一、安装 https://docs.influxdata.com/influxdb/v2/install/?tWindows 解压后使用cmd运行 访问 localhost:8086 配置 第一次登入会初始化 配置登入账号 保存TOKEN 这个TOKEN用于后期代码链接访问数据库&#xff0c;忘记了只能删除重新生成 点击QUCK START进入管理页面 …

全球市场的新趋势:海外网红营销和私域流量的共同驱动

在数字时代的今天&#xff0c;随着全球互联网的蓬勃发展&#xff0c;网络营销已经不再是一种新鲜事物。然而&#xff0c;随着社交媒体和在线内容创作的兴起&#xff0c;一种新的营销方式崭露头角&#xff0c;它将海外网红营销与私域流量相结合&#xff0c;成为了全球市场的一股…

Leetcode 236 二叉树的最近公共祖先

/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*///用f(x)表示x节点的子树是否包含p或者q//则满足公共祖先节点有两种情况组成//1.f(x.left) && f(x…

RT-DETR算法优化改进:Backbone改进 | VanillaNet一种新视觉Backbone,极简且强大!华为诺亚2023

💡💡💡本文独家改进: VanillaNet助力RT-DETR ,替换backbone,简到极致、浅到极致!深度为6的网络即可取得76.36%@ImageNet的精度,深度为13的VanillaNet甚至取得了83.1%的惊人性能。 推荐指数:五星 RT-DETR魔术师专栏介绍: https://blog.csdn.net/m0_63774211/cat…

后端接口性能优化分析-2

常见思路 1.批量思想&#xff1a; 这个其实是一个最容易想到的代码层次的修改&#xff0c;其实对业务上来说&#xff0c;结果都是一样的&#xff0c;只不过这个涉及到了一件事就是&#xff0c;像数据库中发请求&#xff0c;是发十次还是发一次的问题。其原因最根本的还是&…

C++ VS2015安装教程,下载和安装(下载地址+图解+详细步骤)

说明&#xff1a;VS2015的三个版本分别为&#xff1a; Visual Studio Community(社区版)&#xff1a;满足大部分程序员的需求&#xff08;推荐&#xff09; Visual Studio Professional(专业版) Visual Studio Enterprise(企业版) 1、下载地址(这里只提供Community版) htt…

修炼k8s+flink+hdfs+dlink(七:flinkcdc)

一 &#xff1a;flinkcdc官网链接。 https://ververica.github.io/flink-cdc-connectors/release-2.1/content/about.html 二&#xff1a;在flink中添加jar包。 在flink lib目录下增加你所需要的包。 https://kdocs.cn/join/gv467qi?f101 邀请你加入共享群「工作使用重要工具…

java中常见的设计模式

最早概念是在建筑领域产生的&#xff0c;后来被引入到软件开发领域。 模式是解决一类问题的固定写法&#xff0c;一个模式用来解决一种问题&#xff0c;经过反复优化&#xff0c;最终得出来的。之前的程序员们&#xff0c;在工作中对某一类问题解决方式进行总结归纳&#xff0…