Flask的Bug之路

Flask的Bug之路

          • 一、路由访问类型错误
          • 二、Cookie、session类型的错误
          • 三、Mail邮箱、手机验证类型的错误
          • 四、flask-restful数据返回unicode编码问题

因为在进行Flask的学习,所以自己就把自己学习过程中遇到的bug记录下来,方便更多的同学可以更好的解决

一、路由访问类型错误
1. 错误:The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

    原因:

  • 错误原因没有其他,只有一种,就是访问的路径没有找到,也就是说在后台路径处理的时候没有正确的处理;
  • 或者就是你在访问路径的时候传递的参数不正确导致后台路由处理没有对应的处理函数;
  • 还有就可能是后台的处理请求方式不支持你的访问方式,因为flask如果没有进行请求方式的设置,那么默认只支持【GET,HEAD,OPTIONS】三种请求方式,如果是该原因,直接设置methods=[需要使用的请求方式即可]

2. 错误:Could not build url for endpoint 'testBule.index'. Did you mean 'blue.index' instead?

    原因:

  • 该错误实在我使用重定向的时候出现的,大致的意思就是没有找到对应蓝图的函数:
    testBule = Blueprint(“blue”,name)
    return redirect(url_for(‘testBule.index’))
    蓝图名称写错了,蓝图的名称为blue,我错写成了testBule,更改之后解决
二、Cookie、session类型的错误
1. 错误:RuntimeError: The session is unavailable because no secret key was set. Set the secret_key on the application to something unique and secret.

    原因:
  • 大致的意思就是说缺少一个安全钥匙secret_key ,需要我们设置一个唯一且保密的安全钥匙secret_key ;即在settings中添加一个唯一的secret_key 即可,如下图,问题解决,其中secret_key 自己设置接口即可(我是使用UUID生成的)
    Flask的Bug之路_第1张图片
2. 错误:redis.exceptions.ConnectionError: Error 10061 connecting to localhost:6379. 由于目标计算机积极拒绝,无法连接。.

    原因(session存储到redis配置):
  • 当我们将flask中的session存储在redis中,我们当前的环境必须有连接redis的驱动,安装完成连接驱动之后,我们必须将redis启动之后才能正常连接
  • 将session存储在redis中的配置,完成以下两步操作之后安装redis库,启动redis即可
    Flask的Bug之路_第2张图片Flask的Bug之路_第3张图片
3. 错误:from flask.ext.cache import make_template_fragment_key ModuleNotFoundError: No module named 'flask.ext'.

    原因:
  • 是新版本的flask插件已经不再使用 flask.ext.*形式
  • 解决方案:更改/site-packages/flask_cache/jinja2ext.py,将原来的注释掉,即下图的红色更改为下图的绿色
    Flask的Bug之路_第4张图片
三、Mail邮箱、手机验证类型的错误
1. 错误:b'Error: authentication failed'.

    原因:

  • 1 、这种错误提示认证失败,一般分为几种原因,常规来说,报这个错误的时候,说明你的代码逻辑没有什么大的问题,我们就只需要检查发送邮箱的配置即可,下面的基本配置是否配置正确;
    Flask的Bug之路_第5张图片
  • 2、邮箱的授权码服务开启,授权码是否正确等等;
          第三方授权码填写无误,如果忘记可以删除之后新增,注意:授权码只会显示一次
    Flask的Bug之路_第6张图片
  • 3、smtp服务是否开启,保证全部开启;
    在这里插入图片描述
  • 4、邮件发送成功
    Flask的Bug之路_第7张图片
2.手机短信验证《使用网易云信API进行短信发送验证》
  • python+网易云信API实现短信验证
四、flask-restful数据返回unicode编码问题
1. 错误:错误如下返回数据格式不正确
  • 进行数据格式重构
    Flask的Bug之路_第8张图片

  • 返回的数据格式
    Flask的Bug之路_第9张图片

    原因:

  • 没有进行RESTFUL_JSON的配置
  • 解决方案,使用app对象进行配置解决
  • app.config.update(RESTFUL_JSON=dict(ensure_ascii=False))
    Flask的Bug之路_第10张图片

你可能感兴趣的:(Flask,python,flask)