美文网首页
flask框架入门级基础

flask框架入门级基础

作者: 裴general | 来源:发表于2018-05-14 18:35 被阅读0次

    摘要

    flask框架是一个微框架,即:
    微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你做出太多决策——比如使用何种数据库。而那些 Flask 所选择的——比如使用何种模板引擎——则很容易替换。除此之外的一切都由可由你掌握。如此,Flask 可以与您珠联璧合。

    1.使用pycharm创建一个flask项目

    这里需要提前创建一个虚拟环境

    • 创建虚拟环境 virtualenv
      (1)安装虚拟环境 pip install virtualenv
      (2)创建虚拟环境文件夹: virtualenv --no-site-packages +文件夹名(flask)
      (3)进去虚拟环境文件夹启动虚拟环境: 进入 flsak / Scripts ,启动activate
      (4)下载相关的包 flask等
    • 创建flask项目


      image.png

    2.运行初始环境

    默认会在127.0.0.1:5000打印出hello, world

    3.功能介绍

    • 配置路由@app.route(' ')
    @blue.route('/getfloat/<float:price>/')
    def hello_float(price):
        return 'float: %s ' % price
    
    • 路由可接受的类型包括整形,浮点型,字符型等, 在路径的后面加入相关的内容

    通用型 例:127.0.0.0:5000/helloint/feifei/

    @blue.route('/hello/<name>/')
    def hello_man(name):
        print(type(name))
        return 'hello:%s  type:%s' % (name, type(name))
    

    整形: 例:127.0.0.0:5000/helloint/123/

    @blue.route('/helloint/<int:id>/')
    def hello_int(id):
    
        return 'hello %d' % id
    

    浮点型 例127.0.0.0:5000/helloint/123.123/:

    @blue.route('/getfloat/<float:price>/')
    def hello_float(price):
        return 'float: %s ' % price
    

    字符型 例:127.0.0.0:5000/helloint/salabvnkamnab/

    @blue.route('/getstring/<string:opreate>/')
    def hello_string(opreate):
        return 'string: %s' % opreate
    

    路径 127.0.0.0:5000/helloint/sal/ubl/safsaf/

    @blue.route('/getpath/<path:url_path>/')
    def hello_path(url_path):
        return 'path: %s' % url_path
    

    uuid型(类似加密) 例127.0.0.0:5000/helloint/123/
    随机输出字符

    @blue.route('/getuuid/')
    def hello_uuid():
        a = uuid.uuid4()
        return str(a)
    

    uuid型(类似解密) 例:127.0.0.0:5000/ccfffe97-a89f-40dc-994b-a62ddf10e7d7/

    @blue.route('/getbyuuid/<uuid:uu>/')
    def hello_push_uuid(uu):
        return 'uu: %s' % uu
    
    • 加载html
      使用render_templates函数 或者 sendfile函数
      html文件存放在Templates文件里
    @blue.route('/index/')
    def index():
        # return render_template('hello.html')
        return send_file('hello.html')
    
    • 加载css,
      在html文件里, 使用link来加载
      css文件存放在static文件里
    <link rel="stylesheet" href="/static/hello.css">
    
    • 写入请求方法
    @blue.route('/', methods=['POST', 'GET']) 
    def hello_world():
        # 视图函数
        return 'Hello World!'
    

    4.配置不同的端口,debug, 网址等

    app.run(debug=True, port='8000', host='127.0.0.1')  # 启动项目,debug=True表示会显示具体错误,
                                                            #  可以指定8000, host指定可以访问的ip地址
    

    5.将flask文件配置成类似django文件, 使用蓝图Blueprint

    • 创建应用APP
      (1)APP中创建init.py 和 views.py
      (2)配置views.py
    from flask import render_template, send_file
    from flask import Blueprint
    
    blue = Blueprint('first', __name__)
    @blue.route('/', methods=['POST', 'GET']) 
    def hello_world():
        # 视图函数
        return 'Hello World!'
    

    (3)配置init文件, 定义创建app的方法

    from flask import Flask
    from App.views import blue
    
    
    def create_app():
        app = Flask(__name__)
        app.register_blueprint(blueprint=blue)
        return app
    
    • 工程文件 将主文件名改为manage.py, 并修改配置
      创建文件夹APP,,导入views方法中的create_app
      创建Manager实例
      运行实例
    from flask_script import Manager
    from App import create_app
    
    app = create_app()
    manager = Manager(app=app)  # 交由管理
    
    if __name__ == '__main__':
        manager.run()
    
    • 配置run文件
      -p 端口 -d 是否启动debug(写上为真) -h 哪些可以访问


      image.png
      image.png

    相关文章

      网友评论

          本文标题:flask框架入门级基础

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