Flask的学习笔记1
创始人
2025-05-28 13:22:47

1、Flask轻量级的后端框架。

1)flask路由;(匹配URL)

2)request对象;abort函数;

3)模板:前端中要用的一些东西;

4)flask数据库;flask使用的一个插件去操作数据库,为了使用数据库中的一些数据;

5)学习到表单;账号注册,把数据提交到后端,post请求。表单的提交。后端代码,验证代码是正确的还是错误的,返回相关信息。

6)ajax的一些知识点。

7)管理系统小案例。

2、官方文档:

https://dormousehole.readthedocs.io/en/latest/

3、安装:

pip install flask -i https://pypi.douban.com

4、一个最小的应用:

from flask import Flask# Flask()
app = Flask(__name__)  # 当前文件@app.route('/')
def index():return '

Hello world

'app.run()

5)路由:

web浏览器请求到web服务器,返回信息到浏览器。

Flask的引用实例需要知道URL,URL需要运行哪些代码,就把URL和Python路由映射起来。处理这两者的关系就是路由。

from flask import Flask# Flask()
app = Flask(__name__)  # 当前文件@app.route('/hello')                # 装饰器
def hello():return '

Hello world

'@app.route('/hi') def hi():return 'hi hi'if __name__ == '__main__':app.run()

 

 代码说明:

1)代码中有两个路由。

6)method方法:

from flask import Flask# Flask()
app = Flask(__name__)  # 当前文件@app.route('/hello', methods=['GET', 'POST'])                # 装饰器
def hello():return '

Hello world

'@app.route('/hi', methods=['POST']) def hi():return 'hi hi'if __name__ == '__main__':app.run()

代码说明:

1)访问/hello的页面,正常访问;

2)但是访问/hi页面的时候,页面上提示:Method Not Allowed The method is not allowed for the request URL.

3)如果路由同名,只会匹配同名的第一个。但是代码中的函数是不能重名的。

View function mapping is overwriting an exsting endpoint function.

endpoint: 端点。

4)不要命名冲突。

from flask import Flask# Flask()
app = Flask(__name__)  # 当前文件@app.route('/hello', methods=['GET', 'POST'], endpoint='hello')                # 装饰器
def hello():return '

Hello world

'@app.route('/hi', methods=['GET', 'POST'], endpoint='hi') def hello():return 'hi hi'if __name__ == '__main__':app.run()

7、变量规则:

from flask import Flask# Flask()
app = Flask(__name__)  # 当前文件# @app.route('/hello', methods=['GET', 'POST'], endpoint='hello')                # 装饰器
# def hello():
#     return '

Hello world

' # # # @app.route('/hi', methods=['GET', 'POST'], endpoint='hi') # def hello(): # return 'hi hi'@app.route('/user/') def index(id):if id == '1':return 'python'if id == str(2):return 'django'if int(id) == 3:return 'flask'return 'hello world'if __name__ == '__main__':app.run()

代码说明: 

1)在浏览器地址栏中输入url是字符串,然后在代码中跟数字123进行匹配的时候要注意变量转换。

2) 是正则表达式。

8)变量规则转换器:

from flask import Flask# Flask()
app = Flask(__name__)  # 当前文件@app.route('/user/')
def index(id):if id == 1:return 'python'if id == 2:return 'django'if id == 3:return 'flask'return 'hello world'if __name__ == '__main__':app.run()

代码说明:

1)int: 就是转换器

2)转换器可以是string(接收任何不包含斜杠的文本)、float(接收正浮点数)、path(可以接收包含斜杠的文本)、int(接收正整数)

from flask import Flask# Flask()
app = Flask(__name__)  # 当前文件@app.route('/user/')
def index(id):if id == '1':return 'python'if id == '2':return 'django'if id == '3':return 'flask'return 'hello world'if __name__ == '__main__':app.run()

浮点数的

from flask import Flask# Flask()
app = Flask(__name__)  # 当前文件@app.route('/user/')
def index(id):if id == 1.1:return 'python'if id == 2.2:return 'django'if id == 3.3:return 'flask'return 'hello world'if __name__ == '__main__':app.run()

自定义转换器:

1)<> 提取参数;

2)自定义转换器:

from flask import Flask
from werkzeug.routing import BaseConverter# Flask()
app = Flask(__name__)  # 实例化class RegexConverter(BaseConverter):'''自定义转换器类'''regex = '1\d{10}'def __init__(self, url_map):# 调用父类的方法super(RegexConverter, self).__init__(url_map)def to_python(self, value):# 父类方法,功能已经实现好了return value# 将自定义的转换器类添加到flask应用中
app.url_map.converters['phone'] = RegexConverter  # 放到字典中@app.route('/convert/')
def convert(value):print(value)return "hello world!"if __name__ == '__main__':app.run()

然后在浏览器中进行测试:

 

相关内容

热门资讯

最新一款“土豪赢三张辅助挂工具... 最新一款“土豪赢三张辅助挂工具”!必胜开挂神器亲.土豪赢三张这款游戏是可以开挂的,确实是有挂的,通过...
实测分享“新大圣炸金花真的有挂... 有 亲,根据资深记者爆料新大圣炸金花是可以开挂的,确实有挂(咨询软件无需...
玩家攻略科普“么么四川麻将真的... 玩家攻略科普“么么四川麻将真的有挂吗”!果然有透视挂亲.么么四川麻将这款游戏是可以开挂的,确实是有挂...
今日重大发现“乐驿茶坊怎么开挂... 您好,乐驿茶坊这款游戏可以开挂的,确实是有挂的,需要了解加微【9752949】很多玩家在这款游戏中打...
我来教教您“乐酷炸金花开挂使用... 有 亲,根据资深记者爆料乐酷炸金花是可以开挂的,确实有挂(咨询软件无需打...