flask

作者: 皮蛋豆腐酱油 | 来源:发表于2020-02-16 12:25 被阅读0次

    一. 简单应用

    1. 安装flask
    sudo easy_install pip(如果没有pip先安装pip)
    sudo pip install flask
    
    2. 一个简单的应用
    # coding=utf-8
    
    from flask import Flask         # 导出Flask类
    app = Flask(__name__)           # 生成一个web app对象
    
    @app.route('/')                 # 注册一个url,表示当请求url + '/',这个网址时,执行hello_world这个函数
    def hello_world():
        return 'hello, world'
    
    if __name__ == '__main__':      # 启动这个app应用
        app.run()                   # 相关参数app.run(host=None, port=None, debug=None, **options)
                                    # host默认是127.0.0.1
                                    # port默认是5000
    

    保存为hello.py(文件名不能是flask.py,会与Flask本身冲突)

    $ python hello.py 
    Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
    将该网址粘贴到浏览器打开即可
    

    Mac 下 遇到报错python socket.error: [Errno 48] Address already in use
    打开终端,输入sudo lsof -i:XXXX
    xxxx是你刚刚用来开启服务的端口号
    然后执行kill -9 aaaa
    aaaa是出现的那个PID
    然后重新运行程序即可成功

    3. 文件目录结构
    4. flask深入学习资料

    Flask官方网站:http://docs.jinkan.org/docs/flask/
    Flask大型教程项目:http://www.pythondoc.com/flask-mega-tutorial/
    stack overflow:http://stackoverflow.com/questions/tagged/flask


    二. python web开发框架

    1. flask

    简单,轻量,灵活性大

    2. django

    简单,比flask重,灵活性没有flask好,出现时间长

    3. web.py

    简单,轻量,但不会再积极维护了


    三.python flask框架使用


    views.py:接口逻辑

    # coding=utf-8
    # views.py
    
    from flask import Flask         # 导出Flask类
    app = Flask(__name__)           # 生成一个web app对象
    
    @app.route('/')                 # 注册一个url,表示当请求url + '/',这个网址时,执行home_page这个函数
    def home_page():
        home_data = logic.get_home()
        return home_data
    
    @app.route('/books')                    
    def books():
        books_data = logic.get_books()
        return books_data
    
    @app.route('/book/<string: book_id>')                   
    def book(book_id):
        book_data = logic.get_book(book_id)
        return book_data
    
    @app.route('/students')                 
    def students():
        students_data = logic.get_students()
        return students_data
    
    @app.route('/student/<string: student_id>')                 
    def book(student_id):
        student_data = logic.get_student(student_id)
        return student_data
    
    if __name__ == '__main__':      # 启动这个app应用
        app.run()                   # 相关参数app.run(host=None, port=None, debug=None, **options)
                                    # host默认是127.0.0.1
                                    # port默认是5000
    

    logic.py:逻辑处理

    # coding=utf-8
    # logic.py
    
    def get_home():
        #获取图书馆主页资料,一般是读取数据库或者缓存系统
        return 'data of home page'
    
    def get_books():
        return 'list of books basic info'
    
    def get_book(book_id):
        return 'detailed info of book : {}'.format(book_id)
    
    def get_students():
        return 'list of students basic info'
    
    def get_student(student_id):
        return 'detailed info of student : {}'.format(student_id)
    

    run.py:应用发布

    相关文章

      网友评论

          本文标题:flask

          本文链接:https://www.haomeiwen.com/subject/ardpfhtx.html