美文网首页
三阶段day16-flask-一个简单应用

三阶段day16-flask-一个简单应用

作者: ATM_shark | 来源:发表于2018-12-19 19:33 被阅读0次

    flask大纲

    image.png image.png image.png image.png image.png

    简单的flask项目搭建流程

    1、导入flask包
        from flask import Flask
    
    2、创建项目对象
        app=Flask(__name__)
    
    3、设置应用路由
        @app.route('/index1/')
        @app.route('/index2/<id>')
    
    4、创建视图函数
        def index1():
            return 'hello word!'
        def index2(id):
            return 'hello word!'+id
    
    
    注意:路由分为可传参路由和不传参路由,参数用<>括起来;
          <>可以同时存在参数和参数类型设置,如<int:id>,<string:name>,默认是字符串;
          参数类型有:整型<int:id>;
                    :浮点型<float:price>;
                    :字符串<string:name>;
                    :路由<path:url>;
                    :uuid型<uuid:u>;
    
    5、运行
    在文件的末尾行加上  
        app.run()
    
    然后在Terminal中运行命令:python 文件名(如:hw.py)
    

    ========================================
    然而日常开发中,不会把所有代码放在一个文件中,使用flask框架,我们也会向django框架那样细分,将每一步分开编辑。
    例如 我们也会创建一个manage.py文件,配置Run执行功能。
    大致会拆为两部分:一部分是在总目录文件下的manage.py文件,另一部分就是app文件夹、templates前端页面、middleware中间件及修饰器等功能模块;
    manage.py文件中是留存1、2、5步骤,然后将3、4步骤拆分至另一部分;

    另一部分编写步骤:
    3.1在应用(app)文件夹中的views.py中导入蓝图模块并生成蓝图对象(注释:模块化管理路由blueprint)

          from flask import Blueprint
          blueprint=Blueprint('first',__name__)
    

    first相当于django里的反向解析路由的name和namespace,可随意命名;
    生成蓝图对象后,即可设置视图函数路由及视图函数;
    路由和函数布置在一起;例如

        @blueprint.route('/hello/')
        def hello_world():
            return 'Hello World!'
    

    3.2在manage.py文件中注册蓝图

    app.register_blueprint(blueprint=blueprint,url_prefix='/app')
    

    括号里的第一个blueprint是蓝图模块自带属性名,第二个blueprint与views文件中的蓝图对象对应;括号中的app是路由前缀;

    3.3向manage.py文件导入Manager模块并生成manage对象,用于设置runserver

        from flask_script import Manager
        manage=Manager(app)
        manage.run()
    

    然后可以设置Run运行的路径及虚拟环境,同django框架
    第4步骤同django的视图函数编写、前端页面设置、静态文件加载、中间件等。

    相关文章

      网友评论

          本文标题:三阶段day16-flask-一个简单应用

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