首页 > 编程语言 > 详细

python框架之Flask

时间:2021-06-24 00:31:48      阅读:17      评论:0      收藏:0      [点我收藏+]

介绍:Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。

WSGl:Web Server Gateway Interface(Web服务器网关接口,WSGI)已被用作Python Web应用程序开发的标准。 WSGI是Web服务器和Web应用程序之间通用接口的规范。

Werkzeug:它是一个WSGI工具包,它实现了请求,响应对象和实用函数。 这使得能够在其上构建web框架。 Flask框架使用Werkzeug作为其基础之一。

jinja2:jinja2是Python的一个流行的模板引擎。Web模板系统将模板与特定数据源组合以呈现动态网页。

第一个Flask案例:

第一步安装Flask   : pip install Flask

from flask import Flask
app = Flask(__name__)

@app.route(/)
def hello_world():
   return Hello World

if __name__ == __main__:
   app.run()


启动结果:

技术分享图片

 


 

 

 

 

案例2 :通过session来管理登录数据

from flask import Flask
from flask import render_template
from flask import request
from flask import make_response
from flask import Flask, session, redirect, url_for, escape, request
app = Flask(__name__)
app.secret_key = fkdjsafjdkfdlkjfadskjfadskljdsfklj


@app.route(/)
def index():
    if username in session:
        username = session[username]
        return 登录用户名是: + username + <br> + "<b><a href = ‘/logout‘>点击这里注销</a></b>"
    return "您暂未登录, <br><a href = ‘/login‘></b>" + "点击这里登录</b></a>"


@app.route(/login, methods=[GET, POST])
def login():
    if request.method == POST:
        session[username] = request.form[username]
        return redirect(url_for(index))

    return ‘‘‘
           <form action = "" method = "post">
              <p><input type ="text" name ="username"/></p>
              <p><input type ="submit" value ="登录"/></p>
           </form>

   ‘‘‘


@app.route(/logout)
def logout():
    session.pop(username, None)
    return redirect(url_for(index))


if __name__ == __main__:
    app.run(debug=True)


效果图1:
技术分享图片

 

 

效果图2:

技术分享图片

 

 效果3:

技术分享图片

 

 

 

 

 

案例2:Flask框架之模板渲染

from flask import Flask, render_template

app = Flask(__name__)

@app.route(/)
def index():
    my_int = 18
    my_str = curry
    my_list = [1, 5, 4, 3, 2]
    my_dict = {
        name: durant,
        age: 28
    }

    # render_template方法:渲染模板
    # 参数1: 模板名称  参数n: 传到模板里的数据
    return render_template(hello.html,
                           my_int=my_int,
                           my_str=my_str,
                           my_list=my_list,
                           my_dict=my_dict)


if __name__ == __main__:
    app.run(debug=True)

 

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>

<body>
  <h2>我是模板</h2>
  {{ my_int }}
  <br>
  {{ my_str }}
  <br>
  {{ my_list }}
  <br>
  {{ my_dict }}
  <hr>
  <h2>模板的list数据获取</h2>
  <hr>
  {{ my_list[0] }}
  <br>
  {{ my_list.1 }}
  <hr>
  <h2>字典数据获取</h2>
  <hr>
  {{ my_dict[‘name‘] }}
  <br>
  {{ my_dict.age }}
  <hr>
  <h2>算术运算</h2>
  <br>
  {{ my_list.0 + 10 }}
  <br>
  {{ my_list[0] + my_list.1 }}
</body>

</html>

 

效果图:

技术分享图片

 

python框架之Flask

原文:https://www.cnblogs.com/1314520xh/p/14924876.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!