flask简单使用

运维小学生 运维小学生     2022-10-11     740

关键词:

一、flask介绍

flask是一个轻量级的web框架,可快速的搭建程序。适用于简单的程序。

二、对比Django组件

1 Django:无socket、中间件、路由系统、视图(CBV,FBV)、 模板、ORM、cookie、Session、Admin、Form、缓存、信号、序列化....
2 Flask:无socket、中间件(扩展)、路由系统、视图(CBV)、第三方模板(jinja2)、cookie、Session(很弱)

 

三、WSGI

web服务网关接口协议(WSGI),功能为创建Socket,监听请求转发请求。

Flask依赖werkzeug模块实现WSGI协议

from werkzeug.wrappers import Request,Response
from werkzeug.serving import run_simple

@Request.application
def hello(request):
    return Response(‘Hello world!‘)

if __name__ == ‘__main__‘:
    run_simple(‘localhost‘,‘4000‘,hello)

 

 


四、Flask简单实现用户登录

flask_practice/example.py  

from flask import Flask,render_template,request,redirect,session

app = Flask(__name__,template_folder=‘templates‘,static_url_path=‘/static‘)
# template_folder=‘templates‘ 指定templates目录名,默认为templates
# static_url_path=‘/static‘  影响页面静态文件前缀路径
# root_path=‘‘         指定当前目录位置路径,默认为当前目录


app.secret_key = ‘xxxxxxddddddffffffffff‘   
# flask的session没有持续存储到数据库或其他空间,而是生成随机字符串作为session
# 之后将session加密放到cookie中的发送到客户端浏览器,secret_key对session加密同时的加言后,加大了反解难度


@app.route(‘/login‘,methods=[‘GET‘,"POST"])  # 创建路由映射,并保存路由关系,methods指定请求的方法
def login():
    if request.method == ‘GET‘:
        return render_template(‘login.html‘)
    else:
        user = request.form.get(‘user‘)
        pwd = request.form.get(‘pwd‘)
        if user == ‘alex‘ and pwd == ‘123‘:
            session[‘user_info‘] = user
            return redirect(‘/index‘)
        else:
            return render_template(‘login.html‘,msg=‘用户名或密码错误‘)  # msg=‘用户名或密码错误‘传递至前端

@app.route(‘/index‘,methods=[‘GET‘])      # 路由系统的本质,是将url和函数封装到rule对象,添加到MAP中
def index():
    if not session.get(‘user_info‘):
        return redirect(‘login‘)
    return ‘欢迎登录‘

if __name__ == ‘__main__‘:
  # 启动程序,监听用户请求
  # 一旦请求到来执行app.__call__方法
  # 封装用户请求
  # 进行路由匹配函数
    app.run()  

 

 flask_practice/templates/login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>login</h1>
    <form method="post">
        <input type="text" name="user">
        <input type="text" name="pwd">
        <input type="submit" value="登录">{{msg}}
    </form>
    <img style="width: 300px;height: 200px" src="/static/img/ooo.jpg" >
</body>
</html>

 

flask-script插件简单使用

  介绍:Flask-Scropt插件:为在Flask里编写额外的脚本提供了支持。这包括运行一个开发服务器,一个定制的Python命令行,用于执行初始化数据库、定时任务和其他属于web应用之外的命令行任务的脚本。  使用  1.安装:pipinst... 查看详情

flask第四篇使用flask的扩展实现简单页面登录功能

fromflaskimportFlask,render_template,request,redirect,sessionapp=Flask(__name__,template_folder=‘templates‘)app.secret_key="sdsfdsgdfgdfgfh"@app.before_requestdefprocess_request():ifrequest.path=="/lo 查看详情

使用flask-restless进行最简单的身份验证

】使用flask-restless进行最简单的身份验证【英文标题】:Simplestauthenticationwithflask-restless【发布时间】:2016-02-2320:38:39【问题描述】:我正在使用Flask-Restless制作一个超级简单的RESTAPI。我想添加身份验证,但仅用于put/post/delete调用... 查看详情

python使用flask构建的简单gridfs服务器(代码片段)

查看详情

使用flask+mongodb实现基于rest的接口简单操作

...  前言最近在捣鼓如何使用阿里云服务器搭建一个简单的基于Flask框架的后端接口,刚开始为了图方便,就直接买了一个WindowsServer2008系统服务器,这也埋下了不小的坑。 服务买下来后,会给你一个公网IP和内网IP,由... 查看详情

flask第七篇flask中的wtforms使用

一、简单介绍flask中的wtformsWTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证。安装:pip3installwtforms二、简单使用wtforms组件1、用户登录具体代码:fromflaskimportFlask,render_template,request,redirectfromwtforms.fieldsimp... 查看详情

markdown关于如何使用flask-paginate的简单演示。(代码片段)

查看详情

初始flask以及简单地上手应用(代码片段)

对,你没有看错,上图就代表Flask。那么Flask为何方神物?Flask是一个使用Python编写的轻量级Web应用框架。其WSGI工具箱采用Werkzeug,模板引擎则使用Jinja2。Flask使用BSD授权。相对于同类框架,Flask框架显得更为灵... 查看详情

python简单的flask应用程序,使用gevent进行后台任务(代码片段)

查看详情

深入浅出flask(46):flask_sqlalchemy的简单关系

我们知道使用关系的数据库,最大的优点就是关系的维护。如果不使用关系,就跟保存文件是差不多的。既然我们都使用关系的数据库,就需要利用好关系,因为关系的存在是相互约束和追溯。比如创建一个论坛程序,需要对论... 查看详情

flask-session简单使用(代码片段)

一知识点1.安装flask1.0.2使用Flask-Session,其实必须需要配置的只有这几个地方:注意!!!!!!:1.  需要配置的地方1#flask_session中的Session是依赖于falsk中的session的,所以这里的session一定要导入,否则运行过程中报错fromflaskimportFlask,rende... 查看详情

基于flask实现后台权限管理系统-flask

...BSD授权,Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能,用户可以随意地进行组合,满足自己的要求。一段最简单的Flask代码如下 查看详情

flask蓝图的简单使用(代码片段)

1.flask的简单使用fromflaskimportFlask#fromflaskimportmake_responseapp=Flask(__name__)app.config.from_object(‘config‘)print(app.config[‘DEBUG‘])#路由注册方法1@app.route(‘/hello/‘)defhello():#基于类的视图(即插视图)return"Hello,jack"#Response对象@app.route(‘/hello2/... 查看详情

flask中的wtforms使用(代码片段)

一、简单介绍flask中的wtformsWTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证。安装:pip3installwtforms二、简单使用wtforms组件1、用户登录具体代码:fromflaskimportFlask,render_template,request,redirectfromwtforms.fieldsimp... 查看详情

一个简单的flask程序

 初始化所有Flask程序都必须创建一个程序实例。程序实例是Flask类的对象,经常使用下述代码创建:fromflaskimportFlaskapp=Flask(__name__)Flask类的构造函数只有一个必须指定的参数,及程序主模块或包的名字。在大多数程序中,Python... 查看详情

寻找一种使用 pewee 在 My flask 应用程序上实现简单更新记录的简单方法

】寻找一种使用pewee在Myflask应用程序上实现简单更新记录的简单方法【英文标题】:LookingforasimplewaytoimplementaSimpleUpdaterecordsonMyflaskapplicationusingpewee【发布时间】:2020-11-2406:35:55【问题描述】:所以当我定义不同的功能(如添加新... 查看详情

关于flask线程安全的简单研究

...架。一直对其是如何保证线程安全的问题比较好奇,所以简单的探究了一番,由于只是简单查看了源码,并未深入细致研究,因此以下内容仅为个人理解,不保证正确性。  首先是很多文章都说flask会为每一个request启动一个线... 查看详情

flask的简单拆分(代码片段)

创建结构如图:自己去调整#创建flask文件之后生成的app.py重命名为manage.py,以下代码是manage.py里面的内容fromflask_scriptimportManagerfromappimportcreate_appapp=create_app()#调用注册的appmanage=Manager(app)#模仿django,可以使用Pythonmanage.pyrunserver 查看详情