首页 > 其他分享 >01.Flask环境安装与配置

01.Flask环境安装与配置

时间:2023-11-18 23:22:18浏览次数:29  
标签:__ 01 run Flask 应用程序 flask 视图 安装

Flask 介绍

Flask 是一个轻量级的 Web 开发框架。它是依赖 Jinja2 和 Werkzeug WSGI 服务的一个微型框架。之所以说是轻量级,是因为 Flask 框架有这两个核心的内容。其中 Jinja2 是模板引擎,Werkzeug 是路由模块。

所以如果想实现其它的功能,都需要进行扩。比如说:

  • 发邮件,需要使用到 Flask-mail 扩展。
  • 登录 ,需要使用到 Flask-login。
  • 操作数据库,需要使用到 SQLAlchemy。
  • 开发 REST API 风格的接口,需要使用到 Flask-RESTful 或者 flask-restx。

Flask 中文文档:https://docs.jinkan.org/docs/flask/

Flask 环境安装

要使用 Flask 框架,需要先通过命令行 pip 工具安装 Flask。

pip install flask

以下是一个简单的 Flask 入门示例,演示了如何创建一个基本的 Web 应用程序:

from flask import Flask

# 创建 Flask 应用程序实例
app = Flask(__name__)

# 定义路由和视图函数
@app.route("/")
def hello():
return "Hello Flask!"

上述示例代码创建了一个最简单的 Flask 应用程序。

  1. 导入 Flask 模块:首先,我们需要导入 Flask 模块,以便使用 Flask 框架提供的功能。

  2. 创建应用程序实例:通过实例化 Flask 类并传入 __name__ 参数,我们创建了一个 Flask 应用程序的实例。__name__ 是一个特殊变量,它表示当前模块的名称。

  3. 定义路由和视图函数:使用 @app.route() 装饰器来定义路由,指定 URL 路径和对应的视图函数。在上面的示例中,我们定义了根路径 '/' 的视图函数 hello()

  4. 视图函数:视图函数是处理请求并返回响应的函数。在上面的示例中,hello() 函数返回字符串 'Hello, Flask!',它将作为浏览器中访问根路径时的响应。

lask 运行使用

  • 代码调用
    • app.run()
  • 命令行运行
    • bash(mac/linux)
    • cmd(windows)
    • powershell(windows)

在代码中可以通过使用 app.run() 方法运行应用程序。默认情况下,应用程序会运行在本地服务器上,监听 5000 端口。

# 运行应用程序
if __name__ == '__main__':
app.run()

可以通过访问 http://localhost:5000/ 在浏览器中查看结果。

或者也可以在命令行中启动应用程序。Flask 框架自带了一个运行工具叫做flask run,可以在项目目录下使用命令行命令flask run来启动 Flask 项目。这个命令会启动一个开发服务器,并在浏览器中打开项目页面。

启动前可以通过设定环境变量 FLASK_APP=文件名 来表示将要运行的应用是哪个,然后运行 flask run 来启动该应用。

不同的操作系统设置环境变量的命令是不同的,具体参考以下命令:

# linux/mac: 命令行运行
$ export FLASK_APP=hello
$ flask run

# windows: 命令运行
> set FLASK_APP=hello
> flask run

标签:__,01,run,Flask,应用程序,flask,视图,安装
From: https://www.cnblogs.com/csfsz/p/17841474.html

相关文章

  • x86架构平台安装模拟arm架构系统
    最近工作中需要给ARM架构的服务器安装Python的Conda开发环境,而且服务器不能连接外网。手动安装有些繁琐,最方便的方式是在另一台相同配置的机器上安装好,然后将环境整体打包上传到服务器。但是我手头的电脑都是x86架构,在不购买云服务器的情况下,怎样才能弄一台ARM的机器呢......
  • P9197 [JOI Open 2016] 摩天大楼
    学习:连续端dp。目标:最优化\(F(S)=\sum_{i=1}^{n-1}w(A_{S_i},A_{S_{i+1}})\),或者说,重排序列以最优化相邻两个元素产生的贡献。考虑拆开贡献,拆成类似\(L(a_i)+R(a_{i+1})\)的形式。连续端dp通过以下两个操作生成作为一整个连续端的序列:在一个段的左或右插入一个元......
  • linux安装最新版本composer
    wgethttps://getcomposer.org/composer.pharmvcomposer.pharcomposerchmod+xcomposersudomvcomposer/usr/bin/composer-V切换为中国源composerconfig-grepo.packagistcomposerhttps://packagist.phpcomposer.com......
  • P7775 [COCI2009-2010#2] VUK 题解
    链接这道题卡了我$40$多分钟。其实就是跑两遍广搜,第一遍算出每个点距离树的最小距离,第二遍开个优先队列,算出逃回窝的途中最大可能的离它最近的树的距离的最小值。接下来重点讲一下第二遍广搜。首先,我们要知道,如果我们用queue,那么最先到的点不一定是最优的。所以,我们需要......
  • 读像火箭科学家一样思考笔记01_与不确定性共舞(上)
    1. ALH840011.1. ALH84001中发现了源自生物的有机分子1.1.1. 可能是过去的火星生物群的化石遗迹1.1.2. 也可能是无机结构1.1.3. 那些分子可能不是来自火星细菌,而是非生物活动的产物1.1.3.1. 这个证据只是“不排斥”生命存在的可能1.1.3.2. 但是在媒体提供给公众的......
  • 初中英语优秀范文100篇-001 The Best Teacher in My Heart
    PDF格式公众号回复关键字:SHCZFW001记忆树1IthasbeenfouryearssinceIgraduatedfrommyprimaryschoolbutIhavealwaysrememberedmyteacherMs.Lin.翻译我小学毕业已经四年了,但我始终记得我的老师林女士简化记忆记得林老师句子结构主语(S):It谓语(V):h......
  • 大白话说Python+Flask入门(二)
    写在前面笔者技术真的很一般,也许只靠着笨鸟先飞的这种傻瓜坚持,才能在互联网行业侥幸的生存下来吧!为什么这么说?我曾不止一次在某群,看到说我写的东西一点技术含量都没有,而且很没营养,换作一年前的我,也许会怼回去,现在的话,我只是看到了,完事忘记了。早期写文章是为了当笔记用,不会随......
  • 01背包问题
    题目链接Acwing01背包问题解题思路处理输入输入n,m,v[i],w[i]等信息算法核心动态规划的思想是通过计算当前的值,这个值能被后来使用,最后得到解属性:求最大价值状态表示:只考虑前i件物品时,体积为j的最大价值思路:只考虑前i件物品时,体积为j的最大价值,这个价......
  • 01背包问题
    1.  二维表示1#include<bits/stdc++.h>2usingnamespacestd;34constintN=1010;5intn,m;//个数和背包容量6intv[N],w[N];//每个物品的体积和价值7intf[N][N];//表示状态89intmain()10{11cin>>n>>m;1213fo......
  • Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)
    ApacheShiro1.2.4反序列化漏洞(CVE-2016-4437)ApacheShiro是一款开源安全框架,提供身份认证、授权、密码学和会话管理。Shiro框架直观、易用,同时也提供健壮的安全性。ApacheShiro1.2.4以及以前部版本中,加密的用户信息序列号后存储在名为remember-me的Cookie中,攻击者开源使用Shi......