zoukankan      html  css  js  c++  java
  • 第一个flask程序

    flask简介:

      flask是一款非常流行的Python Web框架,出生于2010年,作者是Armin  Ronacher,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正式的项目。目前为止最新的版本是0.11.1。

      flask自2010年发布第一个版本以来,大受欢迎,深得开发者的喜爱,并且在多个公司已经得到了应用,flask能如此流行的原因,可以分为以下几点:

        微框架、简洁、只能他需要做的,给开发提供了很大的扩展性。

        Flask和相关的依赖(Jinja2、Werkzeug)设计得非常优秀,用起来很爽。

        开发效率非常高,比如使用SQLAlchemy的ORM操作数据库可以节省开发者大量书写sql的时间。

        社会活跃度非常高。

      Flask的灵活度非常之高,他不会帮你做太多的决策。即使做已经帮你做出选择,你也能非常容易的更换成你需要的,比如:

        使用Flask开发数据库的时候,具体是使用SQLAlchemy还是MonyoEngine或者是不用ORM而直接于MySQL-Python这样的底层驱动进行开发都是可以的,选择权完全掌握在你自己的手中。区别于Django,Django内置了非常完善和丰富的功能,并且如果你想替换成你自己想要的,要么不支持,要么非常麻烦。

        把默认的Jinija2模板引擎替换成Mako引擎或者是其他模板引擎都是非常容易的。

    ### 第一个flask程序讲解:

      1.第一次创建项目的时候,要添加flask的虚拟环境。添加虚拟环境的时候,一定要选择到python这个文件。

      比如你的flask的虚拟环境的目录在/User/Virtualenv/flask-env/bin/python.

      2.flask程序代码的详细解释:

    # encoding:utf-8
    
    #从flask这个框架中导入Flask这个类
    from flask import Flask
    
    #初始化一个Flask对象
    #Falsk()
    #需要传递一个参数__name__
    #1.方便flask框架区寻找资源
    #2.方便flask插件比如Flask-Sqlalchemy出现错误的时候,好去寻找问题所在的位置
    app = Flask(__name__)
    
    #@app.route是一个装饰器
    #@开头,并且在函数的上面,说明是装饰器
    # 这个装饰器的作用,是做一个url与视图韩式的映射
    #127.0.0.1:5000/-->去请求hello_world这个函数,然后将结果返回给浏览器
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    #如果当前这个文件是作为入口程序运行,那么就执行app.run()
    if __name__ == '__main__':
        #app.run()
        #启动一个应用服务器,来接受用户的请求
        #while True:
        # listen()
    
        app.run()

    ###设置debug模式

    1.在app.run()中传入一个关键字参数debug:app.run(debug=True),就设置当前项目为debug模式

    2.debug模式的两大功能:

      *当程序出现为题的时候,可以在页面中看到错误信息和出错的位置。

      *只要修改了项目的'python'文件,程序会自动加载,不需要手动重新启动服务器。

    ###使用配置文件:

      1.新建一个‘config.py’文件

      2.在主app文件中导入这个文件。并且配置到'app',示例代码如下:

    import config
    
    app.config.from_object(config)

      3.还有许多的其他参数,都是放在这个配置文件中,比如‘SECRET_KEY’和‘SQLALCHEMY’这些配置,都是在这个文件中。

      

    ###url传参数:

      1.参数的作用:可以在相同的URL,但是指定不同的参数,来加载不同的数据。

      2.在flask中如何使用参数:

    @app.route('/article/<id>')
    def article(id):
        return u'您请求的参数是:%s'% id
    *参数需要放在两个尖括号中。
    *视图函数中需要放和url中的参数同名的参数

    ###反转URL:
      1.什么叫做反转URL:从视图函数到url的转换叫做反转url
      2.反转日url的用处:
        *在页面重定向的时候,会使用url反转
        *在模板中,也会使用url反转

    ###页面跳转和重定向
      1.用处:在用户访问一些需要登录的页面的时候,如果用户没有登录,那么可以让他重定向到登录页面
      2.代码实现
    、、、
    from flask import redirect,url
    redirect(url_for('login'))
    、、、

    ###Flask渲染Jinja2模板和传参:

    1.如何渲染模板:

      *模板放在‘templates’文件夹下

      *从‘flask’中导入‘render_template’函数。

      *在视图函数中,使用‘render_template’

      *

  • 相关阅读:
    查看kafka版本号
    This service allows sftp connections only. 解法
    raid5和raid10的异同
    mpstat命令
    力扣 2020.06.27
    力扣 2020.06.22
    windows10 LTSC 2019 激活
    shell 不等式的表示方法
    C#后台判断一个网站的有效性代码
    C#去除DataTable中的重复数值
  • 原文地址:https://www.cnblogs.com/Chenghao-He/p/8120205.html
Copyright © 2011-2022 走看看