• flask系列二之基础知识


    一、调试模式(debug模式)

    1、设置debug模式

    在app.run()中传入关键字参数debug,app.run(debug=Ture),就设置当前项目为debug模式。如下所示:

    # 从flask框架中导入Flask类
    from flask import Flask
    
    # 传入__name__初始化一个Flask实例
    app = Flask(__name__)
    
    
    # app.route装饰器映射URL和执行的函数。这个设置将根URL映射到了hello_world函数上
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    
    # 运行本项目
    if __name__ == '__main__':
        app.run(debug=True)

    2、debug模式的两大功能

    (1)当程序出现问题的时候,可以在网页中看到具体的错误信息。如果没有设置debug模式,出现错误时在网页上只是出现“内部服务器错误”的信息。

    (2)当你的程序已经部署成功,这时你修改你的程序代码,在debug模式下程序会检测到代码的改变并且会自动重新加载(有种热部署的感觉),就不需要手动重启了。

    二、巧用配置文件来配置参数config.py

    1、 新建一个config.py文件 

    比如之前的那种配置Debug模式的方法可以通过config文件来配置的。

    config.py中:

    DEBUG = True # 改成False就可以关闭DEBUG模式

    2、在主app文件中导入这个文件,并且配置到app中,示例代码如下: (app.config.from_object(config))

    # 从flask框架中导入Flask类
    from flask import Flask
    
    # 传入__name__初始化一个Flask实例
    app = Flask(__name__)
    app.config.from_object(config) # 这样也可以配置成DEBUG模式
    
    
    # app.route装饰器映射URL和执行的函数。这个设置将根URL映射到了hello_world函数上
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    
    # 运行本项目
    if __name__ == '__main__':
        app.run(debug=True)

    3、还有许多的其他参数,都是放在这个配置文件中,比如连接数据库相关的参数

    三、URL传参数

    1. 参数的作用:可以在相同的URL,但是指定不同的参数,来加载不同的数据。
    2. 在flask中如何使用参数
      @app.route('/article/<id>')
      def article(id):
          return '你请求的参数是:%s' % id

      (1)参数需要放在两个尖括号中       (2)视图函数中需要放和url中的参数同名的参数。四、URL反转

    四、URL反转

    反转的意义在于通过视图名称可以获得与之对应的url

    使用方式为

    (1)从flask导入url_for

    from flask import url_for

    (2)在url_for中传入视图名称

    url_for('page_name_view')

    五、页面跳转(redirect)和重定向

    1. 用处:在用户访问一些需要登录的页面的时候,如果用户没有登录,那么可以让她重定向到登录页面。
    2. 代码实现:
    3. from flask import Flask,redirect,url_for
          redirect(url_for('login'))
  • 相关阅读:
    搭建Java环境
    【leetcode】257. 二叉树的所有路径
    【leetcode】563. 二叉树的坡度
    【leetcode】401. 二进制手表
    【leetcode】859. 亲密字符串
    【leetcode】1441. 用栈操作构建数组
    【leetcode】1502. 判断能否形成等差数列
    【leetcode】605. 种花问题
    【leetcode】1252. 奇数值单元格的数目
    【leetcode】1640. 能否连接形成数组
  • 原文地址:https://www.cnblogs.com/wfaceboss/p/8476203.html
Copyright © 2020-2023  润新知