python后端框架之flask01

Flask 轻量级的WEB框架
AJAX 在WEB中完成异步的请求和响应
Django 重量级的WEB框架

Python WEB

1.静态网页 和 动态网页
    1.静态网页 : 无法与服务器进行数据交互的网页
    2.动态网页 : 允许与服务器进行数据交互的网页
2.WEB 与 服务器
    1.WEB : 网页(HTML,CSS,JS)
    2.服务器(Web Server)
        能够给用户提供服务的机器就是服务器
        1.硬件 和 软件
            硬件 : 一台计算机
            软件 : 一个能够接收用户请求并个给出响应的程序
                1.作用
                    1.存储WEB的信息
                    2.能够处理用户的请求(request)和响应(response)
                    3.执行服务器端的处理程序
                    4.具备最基本的安全功能
                2.服务器端的软件
                    1.APACHE
                    2.TOMCAT
                    3.IIS(Internet Information Service)
                    4.Nginx
3.框架
    1.什么是框架
        框架是一个为了解决开放性问题而存在的一种程序结构
        框架的本身提供了最基本的功能
        我们只需要在框架的基础功能上搭建自己的操作就可以了
    2.Python web 框架
        1.Flask - 轻量级
        2.Webpy - 轻量级
        3.Tornado - 异步框架
        4.Django - 重量级
    3.框架模式
        1.MTV(Flask,Django)
            M : Models层,模型层,负责与数据库打交道
            T : Templates层,模板层,处理用户显示的内容,如html
            V : Views层,视图层,处理与用户打交道的内容(请求和响应)
        2.MVC
            M : Models层,模型层,负责与数据库打交道
            V : Views层,视图层,处理用户显示的内容,如html
            C : Controller层,控制器层,处理与用户打交道的内容(请求和响应)

            M  ---  M
            T  ---  V
            V  ---  C
4.Flask
    1.什么是Flask
        Flask是一个基于Python并且依赖于Jinja2模板引擎和Werkzeug WSGI服务的一个微型框架(Micro Framework)
        WSGI : Web Server Gateway Interface(WEB服务网关接口)
        Flask是基于 MTV 框架模式开发出来的框架
    2.安装Flask
        1.查看已安装的Flask版本
          

 在 python 的交互模式中
    1.import flask
       没报错 : 已经安装好了Flask,可以继续查看版本
       报错 : 没安装Flask
    2.flask.__version__
       已安装Flask的情况下,查看安装的版本


        2.安装Flask
            

sudo pip3 install flask
pip3 download flask


        3.初始化Flask应用
            见代码... ..

        4.杀掉占用5000端口的进程
            1.netstat -lptu
                查看占用5000端口的进程ID
            2.sudo kill -9 进程ID
                将进程ID对应的程序杀掉
5.Flask - 路由(route)
    1.什么是路由
        处理url和函数之间的关系的程序就是"路由"
        

@app.route('/login')
    def login():
        pass


    2.路由的体现
        在Flask中,路由是通过@app.route装饰器来表示的
        1.基本的路由体现
          

 # http://localhost:5000/admin/login
@app.route('/admin/login')
def admin_login():
    return "xxx"


        2.带参数的路由
            路由中可以携带参数来表示不同的数据
            http://localhost:5000/show/wangwc
            http://localhost:5000/show/gebilaowang
            http://localhost:5000/show/chaogege
            http://localhost:5000/show/xxx

            1.基本带参路由
                @app.route('/show/<name>')
                def show(name):
                    # name 参数表示的就是由地址栏上传递进来的数据
                    pass
            2.带多个参数的路由
                多个参数使用 / 隔开,并继续使用 <> 来表示
                @app.route('/show/<name>/<age>')
                def show(name,age):
                    pass

            3.指定参数类型的路由
                使用 类型转换器 解决参数类型的问题
                @app.route('/show/<name>/<int:age>')
                def show():
                    name : 字符串类型的数据
                    age : 整数类型的数据
                
                int:类型转换器
                Flask中所支持的类型转换器
                类型转换器        作用
                缺省              字符串,不能有斜杠('/')
                int:              整数
                float:            浮点型
                path:             字符串,允许有斜杠('/')

                练习:
                    1.访问路径如下
                        http://localhost:5000/calc/数字1/数字2
                    2.根据以上的访问路径制定路由以及视图处理函数
                    3.在视图中,对两个数字进行相加,并响应在浏览器上
        3.多 URL 的路由匹配
            @app.route('/地址1')
            @app.route('/地址2')
            .... ....
            def index():
                return ""
    3.路由中设置允许接收的HTTP请求方法
        所有的路由默认只接受get请求,不接受post请求
        @app.route('/xxx',methods=['POST','GET'])
        @app.route('/xxx',methods=['POST'])
    4.URL的反向解析
        正向解析:程序自动解析,会根据访问路径(@app.route('xxx')),自动来匹配处理函数

        反向解析:通过视图处理函数的名称自动生成对应的访问路径

        在Flask中要实现反向解析的话,需要使用:
        from flask import url_for
        url_for(funName,args)
            funName : 要生成地址所对应的函数名
            args : 该地址中要用到的参数

from flask import Flask

#将当前运行的主程序构建成Flask应用,以便接收用户(request)的请求并给出响应(response)
app = Flask(__name__)

#@app.route() 定义Flask中的路由,就是访问路径,'/'表示的是整个网站的根路径
#index()表示的是匹配上路由之后的处理程序-视图函数,所有的视图必须要有一个return用于表示响应的内容
# @app.route('/')
# def index():
#     print('这是输出在终端上的内容')
#     return "This is my first flask demo"

#http://localhost:5000/login
@app.route('/login')
def login():
    return "<h1>欢迎来到登录页面</h1>"

@app.route('/register')
def register():
    return "欢迎来到注册页面"

#参数1:基本带参路由的体现
@app.route('/show/<name>')
def show(name):
    return "传递进来的参数为:"+name

#参数2:带多个参数的路由体现
@app.route('/show1/<name>/<age>')
def show1(name,age):
    return "姓名:%s,年龄:%s" % (name,age)

#参数3:使用类型转换器实现参数的类型转换
@app.route('/calc/<int:num1>/<int:num2>')
def calc(num1,num2):
    #num1和num2全部都是整型的
    return "%d+%d=%d" % (num1,num2,num1+num2)
#定义多url的路由匹配
@app.route('/')
@app.route('/index')
@app.route('/<int:page>')
@app.route('/index/<int:page>')
def index_views(page=None):
    if page is None:
        page = 1
    # print("您当前看的页数为:" , page)
    return "您当前看的页数为:%d" % page

@app.route('/post',methods=['POST','GET'])
def post():
    return "该方法允许接收get和post请求"

if __name__ == "__main__":
    #运行Flask应用(启动Flask服务),启动之后允许通过http://localhost:5000的方式来访问当前项目
    app.run(debug=True)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值