常用的模块:
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 Flask
from werkzeug.routing import BaseConverter
app = 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" % moblie
if __name__ == '__main__':
# 启动flask程序
app.run(debug=True)
设置自己的404页面:
# -*- coding: utf-8 -*-
from flask import Flask, abort, Response
app = Flask(__name__)
### @app.errorhandler(404)
def handle_404_error(err):
'''自定义的处理错误方法'''
# 这个返回值会是用户在前端中所看到的结果
return u"很抱歉,出现了404错误 错误信息: %s" % err
if __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
知识点:单点登录原理、统一认证服务
文档更新时间: 2023-06-15 08:23 作者:admin