flask系列二之基础知识

2019-04-08 10:46:03 浏览数 (1)

一、调试模式(debug模式)

1、设置debug模式

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

代码语言:javascript复制
# 从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中:

代码语言:javascript复制
DEBUG = True # 改成False就可以关闭DEBUG模式

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

代码语言:javascript复制
# 从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中如何使用参数 (1)参数需要放在两个尖括号中       (2)视图函数中需要放和url中的参数同名的参数。四、URL反转
代码语言:javascript复制
@app.route('/article/<id>')
def article(id):
    return '你请求的参数是:%s' % id

四、URL反转

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

使用方式为

(1)从flask导入url_for

代码语言:javascript复制
from flask import url_for

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

代码语言:javascript复制
url_for('page_name_view')

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

  1. 用处:在用户访问一些需要登录的页面的时候,如果用户没有登录,那么可以让她重定向到登录页面。
  2. 代码实现:
代码语言:javascript复制
from flask import Flask,redirect,url_for
    redirect(url_for('login'))

0 人点赞