常用的模块:
app中的一些补充:
- static_url_path 静态资源的url前缀
- static_folder: 默认为static
- template_folder: 默认为templates
手动对静态资源进行配置:
app = Flask(__name__,static_url_path='/python')# 配置后访问静态需要添加此前缀如:# http://127.0.0.1:5000/python/index.html
对于视图函数和装饰器,这两个都是可以一样的如下代码:
#装饰器相同,视图函数不同@app.route("/hello", methods=["POST"])def hello1():return "hello 1"@app.route("/hello", methods=["GET"])def hello2():return "hello 2"# 装饰器不同,视图函数相同@app.route("/hi1")@app.route("/hi2")def hi():return "hi nihao"
flask的重定向可以使用两种方式,绑定装饰器、绑定视图函数:
url = url_for("hello1") #绑定视图函数return redirect(url)url = '/hello' #绑定装饰器return redirect(url)
flask可以自定义转换器,用于在url上提取特定的格式数据
# -*- coding: utf-8 -*-from flask import Flaskfrom werkzeug.routing import BaseConverterapp = Flask(__name__)# 1.定义自己的转换器class RegexConverte(BaseConverter):def __init__(self, url_map, regex):# 调用父类的初始化方法super(RegexConverte, self).__init__(url_map)# 将正则表达式的参数保存在对象的属性中,flask会去使用这个属性来进行路由的正则匹配self.regex = regex# 2. 将自定义的转换器添加到flask的应用中app.url_map.converters["re"] = RegexConverte@app.route("/send/<re(r'1[345678]\d{9}'):moblie>")def send_sms(moblie):return "send_sms: %s" % moblieif __name__ == '__main__':# 启动flask程序app.run(debug=True)
设置自己的404页面:
# -*- coding: utf-8 -*-from flask import Flask, abort, Responseapp = Flask(__name__)### @app.errorhandler(404)def handle_404_error(err):'''自定义的处理错误方法'''# 这个返回值会是用户在前端中所看到的结果return u"很抱歉,出现了404错误 错误信息: %s" % errif __name__ == '__main__':app.run(debug=True)
flask常用的字符串过滤器
safe:禁用转义<p>{{ '<em>hello</em>' | safe }}</p>capitalize:把变量值的首字母转成大写,其余字母转小写<p>{{ 'hello' | capitalize }}</p>lower:把值转成小写;<p>{{ 'HELLO' | lower }}</p>可随时查询
知识点:使用表单拓展:Flask-WTF
知识点:单点登录原理、统一认证服务
作者:admin 创建时间:2023-06-15 15:27
更新时间:2023-06-15 16:23
更新时间:2023-06-15 16:23