Python网络编程(六)-利用Flask web框架开发python web程序

1. Flask简介:

在前面介绍了一些基本的网络编程和爬虫python库后,终于可以开始接触python网络编程框架了。

Flask是一个微型的Python开发的 Web 框架,特别说明,作为一个微型web框架,也被称为“microframework”,麻雀虽小,五脏俱全,Flask可扩展性很强。Flask基于Werkzeug WSGI工具箱和Jinja2 模板引擎,Flask使用BSD授权。

Flask没有默认使用的数据库、窗体验证工具。然而,Flask用extension增加其他功能,保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。

2. Flask使用举例:

例子:使用flask实现下面两个业务:

(1). 返回Hello;

(2). 利用Flask实现登录功能。

代码如下:

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
###test ok:
#python app_web.py
#http://localhost:5000
#http://localhost:5000/signin
###
from flask import Flask
from flask import request

app = Flask(__name__) #创建一个该类的实例

@app.route('/', methods=['GET', 'POST']) #使用 route() 装饰器来告诉 Flask 触发函数的 URL
def home():
    return '<h1>Home</h1>'

@app.route('/signin', methods=['GET']) #使用 route() 装饰器来告诉 Flask 触发函数的 URL
def signin_form():
    return '''<form action="/signin" method="post">
              <p><input name="username"></p>
              <p><input name="password" type="password"></p>
              <p><button type="submit">Sign In</button></p>
              </form>'''

@app.route('/signin', methods=['POST'])
def signin():
    if request.form['username']=='admin' and request.form['password']=='password':
        return '<h3>Hello, admin!</h3>'
    return '<h3>Bad username or password.</h3>'

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

测试方式和测试结果:

首先,运行python程序:

aaaaa:chaper user1$ python3 app_web.py 
 * Serving Flask app "app_web" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [22/Feb/2021 07:17:05] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [22/Feb/2021 07:19:25] "GET /signin HTTP/1.1" 200 -
127.0.0.1 - - [22/Feb/2021 07:20:21] "POST /signin HTTP/1.1" 200 -

然后,在网页端打开如下url:

http://localhost:5000/
http://localhost:5000/signin

结果如下:

登录测试接口如下:

一个简单的web程序就完成了,flask用起来很方便,但是,从代码也可以看出来,需要和html语句结合,才能发挥强大的功能。

如果写一下复杂的业务,Flask未必是最好的选择,大家可以试一试django框架,一个大而全,航空母舰级别的web框架


学会使用框架,事半功倍。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值