常用的模块:

app中的一些补充:

  • static_url_path 静态资源的url前缀
  • static_folder: 默认为static
  • template_folder: 默认为templates

手动对静态资源进行配置:

  1. app = Flask(__name__,static_url_path='/python')
  2. # 配置后访问静态需要添加此前缀如:
  3. # http://127.0.0.1:5000/python/index.html

对于视图函数和装饰器,这两个都是可以一样的如下代码:

  1. #装饰器相同,视图函数不同
  2. @app.route("/hello", methods=["POST"])
  3. def hello1():
  4. return "hello 1"
  5. @app.route("/hello", methods=["GET"])
  6. def hello2():
  7. return "hello 2"
  8. # 装饰器不同,视图函数相同
  9. @app.route("/hi1")
  10. @app.route("/hi2")
  11. def hi():
  12. return "hi nihao"

flask的重定向可以使用两种方式,绑定装饰器、绑定视图函数:

  1. url = url_for("hello1") #绑定视图函数
  2. return redirect(url)
  3. url = '/hello' #绑定装饰器
  4. return redirect(url)

flask可以自定义转换器,用于在url上提取特定的格式数据

  1. # -*- coding: utf-8 -*-
  2. from flask import Flask
  3. from werkzeug.routing import BaseConverter
  4. app = Flask(__name__)
  5. # 1.定义自己的转换器
  6. class RegexConverte(BaseConverter):
  7. def __init__(self, url_map, regex):
  8. # 调用父类的初始化方法
  9. super(RegexConverte, self).__init__(url_map)
  10. # 将正则表达式的参数保存在对象的属性中,flask会去使用这个属性来进行路由的正则匹配
  11. self.regex = regex
  12. # 2. 将自定义的转换器添加到flask的应用中
  13. app.url_map.converters["re"] = RegexConverte
  14. @app.route("/send/<re(r'1[345678]\d{9}'):moblie>")
  15. def send_sms(moblie):
  16. return "send_sms: %s" % moblie
  17. if __name__ == '__main__':
  18. # 启动flask程序
  19. app.run(debug=True)

设置自己的404页面:

  1. # -*- coding: utf-8 -*-
  2. from flask import Flask, abort, Response
  3. app = Flask(__name__)
  4. ### @app.errorhandler(404)
  5. def handle_404_error(err):
  6. '''自定义的处理错误方法'''
  7. # 这个返回值会是用户在前端中所看到的结果
  8. return u"很抱歉,出现了404错误 错误信息: %s" % err
  9. if __name__ == '__main__':
  10. app.run(debug=True)

flask常用的字符串过滤器

  1. safe:禁用转义
  2. <p>{{ '<em>hello</em>' | safe }}</p>
  3. capitalize:把变量值的首字母转成大写,其余字母转小写
  4. <p>{{ 'hello' | capitalize }}</p>
  5. lower:把值转成小写;
  6. <p>{{ 'HELLO' | lower }}</p>
  7. 可随时查询

知识点:使用表单拓展:Flask-WTF

知识点:单点登录原理、统一认证服务

文档更新时间: 2023-06-15 08:23   作者:admin