Python—Web开发框架

何为框架

  • 软件框架,为实现某个业界标准或者完成特别基本任务的软件组件规范,为了实现某个软件组建规范时,提供规范所要求之基础功能的软件产品。
  • 框架的功能类似于基础设施,提供并实现最为基础的软件架构和体系,通常依据特定的框架实现更为复杂的业务逻辑。
  • 框架——就是程序的骨架。

使用框架带来的好处

  1. 可重用
  2. 成熟,稳健
  3. 可扩展性良好
  4. 提高开发速度

Web框架

  • Web应用框架是支持动态网站,网络应用程序的软件框架。
  • Web框架的工作方式:接收HTTP请求并处理,分派代码,产生HTML,创建HTTP响应。
  • Web框架通常包含了:URL路由,数据库挂你,模板引擎。
Web框架中的概念
  • MVC(Model,View,Controller)
  • ORM(Object-relational Mapping)
  • URL Route
  • Template

Python中的Web框架

  1. 大包大揽的Django
    优点: 完美文档。 全套解决方案(Cache,Session,ORM…)
    强大的URL路由配置 自助管理后台
    缺点: 系统紧耦合 自带的ORM不够强大 Template比较弱
  2. 力求精简的web.py和Tornado
  3. 新生代的为框架Flask和Bottle
    微框架优点: 聚焦在业务逻辑上 学习成本低 灵活性和伸缩性较强
    微框架缺点: 很多逻辑要开发者操刀 安装很多模块会导致体积较大

Flask框架

sudo pip3 install flask544kb左右大小,比较精简

  • 保持核心简单,易于扩展
  • 不包含数据库抽象层,表单验证,但可以添加扩展
  • Flask是一个可扩展的框架

Flask例程

简单flask文件内包括static(存储静态资源文件)与templates(html网页文件)文件夹,以及主要执行url判断的主py文件。
HTML代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Calculator</title>
</head>
<body>
    <div align="center" style="margin-top:40px">
        <img src="{{url_for('static',filename='add.png')}}" alt=""><br>
    </div>
    <div>
        <div align="center" style="margin-top:60px">
            <form name="forml" method="POST">
                <input type="text" placeholder="加数" name="adder1" class="form-control" value="{{adder1}}">
                +
                <input type="text" placeholder="被加数" name="adder2" class="form-control" value="{{adder2}}">
                =
                <input type="text" placeholder="总数" name="sum" readonly="readonly" class="form-control" value="{{message}}">
                <input type='submit' class="btn btn-lg btn-info" value="计算">
            </form>
        </div>
    </div>
</body>
</html>

index.py代码文件

from flask import Flask
from flask import render_template
from flask import redirect
from flask import url_for
from flask import request

app = Flask(__name__)

@app.route("/")
def index():
    return redirect(url_for('add'))

@app.route('/add',methods=['GET','POST'])
def add():
    if request.method == "POST":
        a = request.form['adder1']
        b = request.form['adder2']
        a = int(a)
        b = int(b)
        sum = a + b
        return render_template('index.html',adder1=str(a),adder2=str(b),message=str(sum))
    return render_template('index.html')

if __name__ == "__main__":
    app.run(port=8081)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值