zoukankan      html  css  js  c++  java
  • flask 反向解析示例

    1 静态网页 和动态网页
        1 静态网页:无法与服务器做动态交互的网页
        2 动态网页:允许与服务器做动态加护的
    2 WEB 与 服务器
        1 WEB :网页(HTML,css,JS)
    3 服务器的作用:
        1 存储WEB上的信息
        2 能够处理用户的请求(request)并给出响应(response)
        3 执行服务器端程序
        4 具备一定的安全功能
    框架
        1 什么是框架
            框架是一个为了解决开放性问题而存在一种程序结构
            框架本身提供了一些最基本的功能
            我们只需要在基础功能上抢建自己的操作就可以了
        2 python web 框架
            1 flask - 轻量
            2 webpy - 轻量级
            3 Tornado - 异步框架
            4 django - 重量级框架
        3 框架模式
            1 MTV
                M : Models ,模型层,主要负责数据库建模
                T : T ,用于处理用户的显示内容,如 html
                V :     Views,视图,处理与用户打交道的内容
            2 MVC
                M: 模型层,主要负责数据库建模
                V: 视图,处理用户的显示内容
                C: Controller,控制器,用于与用户交互的部分内容(请求和响应)
    4 Flask框架
        1 什么是Flask框架
         Flask是一个基于python并且依赖于Jinja2 模板引擎和Weryzeug WSGI服务的一个微型框架
         WSGI : Web Server Gatway Interface(WEB服务网关接口)
        Flask 是采用MTV的框架模式
    5 Flask- 路由(route)
        1 什么是路由
            客户端发送请求给web服务器,web 服务器再将请求发送给Flask程序实例
            程序实例需要知道每个url 请求所对应的运行代码是谁。所以程序中必须要创建一个url 请求地址 到 python 运行函数的一个映射。处理url 
                和函数之间的关系的程序就是“路由”
        2 路由的体现
            在 Flask 中,路由是通过 @app.route 装饰器来表示的
            1 路由的基本表示
            2 带参数的路由
                路由中可以携带参数表示不同的数据
                1 基本代参路由
                    @aap.route('./show/<name>')
                    def show(name):
                        name:表示的就是从地址栏上传递过来的数据
                        return 'xxx'
                2 带多个参数的路由
                    @app.show('/show/<name>/<age>')
                3 指定参数类型的路由
                    @app.route('/show/<name>/<int:age>')
                    
                    int:类型转换器
                    Flask 中所支持的类型转换器:
                        类型转换器            作用
                        缺省                字符串,不能有斜杠('/')
                        int:                整型
                        float:                浮点型
                        path:                字符串,可以有斜杠('')
            3 为多个访问地址匹配同一个视图处理函数
                @app.route('/地址1')
                @app.route('/地址2')
                ...
                def index()
                return ''
            4 路由中设置 HTTP请求方法
                Flask路由也允许设置对应的请求方法(post/get),只有将匹配上请求方法的路径才能交给对应的视图处理函数,
                所有的路由,默认只接受 get 请求
                
                @app.route('/xxx/xx',methods=['GET','POST'])
                def xxx:
                    #该函数即能接受get 请求也能接受post请求
                    pass
            5 URL 的反向解析
                正向解析:程序自动解析,根据@app.route()中的访问路径,来匹配处理函数
                
                反向解析:通过视图处理函数的名称自动生成对应的访问路径
                
                在Flask中要实现反向解析的话需要使用:
                    url_for(funName,args)
                        funName:要生成地址的函数名
                        args:该地址中需要的参数
                    

    # python 3.7
    from flask import Flask, url_for
    
    app = Flask(__name__)
    print(app,'这里是app')
    
    @app.route('/index')
    def index():
        return '<h1>这里是首页</h1>'
    
    @app.route('/admin/login/form/show/<name>')
    def show(name):
        return '参数值为:%s'%name
    
    @app.route('/url')
    def url():
        # 通过index()解析出对应的访问路径,,此处开始进行反向解析
        url_index= url_for('index')
        url_show= url_for('show',name='liu')
        print(url_show)
        return '<a href="%s">wee</a>'%url_show
    
    
    if __name__ == '__main__':
        app.run(debug=True)
    View Code--反向解析示例
    
    
    
     
  • 相关阅读:
    Git fetch和git pull的区别
    git add 命令详解
    第1章——算法在计算机中的作用
    Mysql数据库中的计数器表实时更新
    Windows 7 搭建 nodejs、npm、express 环境
    设计模式之工厂模式
    设计模式之单例模式(Singleton Pattern)
    java实现合并两个已经排序的列表
    Spring+SpringMVC+Mybatis+Maven+CXF+WebService整合之服务端
    sqlserver乱码问题解决
  • 原文地址:https://www.cnblogs.com/Skyda/p/9868752.html
Copyright © 2011-2022 走看看