flask框架
活动的笑脸
大家来关注我啊
展开
-
Flask——以目录形式定义蓝图
蓝图的使用方法上文已进行叙述,本文讲述以目录形式定义蓝图,首先新建一个cart包,在包内新建view.py文件存放对应视图函数,如下图:init.py文件是cart包的初始化函数,在这里创建一个蓝图对象并将对应的视图函数加载进来,代码如下:from flask import Blueprint# 创建一个蓝图的对象,蓝图就是一个小模块的抽象的概念app_cart = Blueprint("app_cart", __name__)# 在__init__.py文件被执行的时候,把视图加载进来,让原创 2022-01-01 23:31:45 · 532 阅读 · 0 评论 -
Flask——蓝图的定义和基本使用方法
本文讲述Flask蓝图的使用,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能,这里先举一个小例子,新建main.py文件,内容如下:from flask import Flaskapp = Flask(__name__)@app.route("/")def start(): return "This is the beginning"@app.route("/hello")def on原创 2022-01-01 19:50:25 · 3198 阅读 · 0 评论 -
Flask——migrate实现数据库迁移
migrate实现数据库迁移的指令如下:指令代码说明初始化python 文件名.py db init这个命令会创建migrations文件夹,所有迁移文件都放在里面创建迁移脚本python 文件名.py db migrate -m ‘记录’创建的迁移脚本会根据模型定义和数据库当前状态的差异,生成upgrade和downgrade函数的内容更新数据库python 文件名.py db upgrade将修改后的内容上传到数据库回退数据库python 文件名.原创 2021-12-25 10:13:35 · 3498 阅读 · 2 评论 -
Flask——图书馆作者案例
本文将编写一个小作品,效果图如下:作品初始代码如下:from flask import Flaskapp = Flask(__name__)@app.route("/")def start(): return "This is the beginning"if __name__ == '__main__': app.run(debug=True, port=8000, host="127.0.0.1")第一步:创建my_project数据库(mysql> create原创 2021-12-20 21:57:23 · 426 阅读 · 0 评论 -
Flask——sqlalchemy数据的增删改
本文用以下图片进行示例:增加数据: # 增加数据 user = User( id=5, name="hello", email="100@100.com", passward="123456", role_id=2) # 添加到本地 db.session.add(user) # 连接数据库,添加进MySQL中 db.session.commit()结果如下:删除数据: # 删除数据 user = User.query.get(2)原创 2021-12-18 20:22:33 · 3160 阅读 · 0 评论 -
Flask——sqlalchemy关联查询与自定义显示信息
本文用以下图片进行示例:关联查询,指用户角色和用户关联,两者之间能相互查询,如下:# 关联查询"""以用户角色查询用户"""def n(): result = Role.query.get(1) print(result) print(result.users) print(result.users[0].name, result.users[1].name)"""以用户反推用户角色"""def m(): result = User.quer原创 2021-12-18 10:45:57 · 1837 阅读 · 0 评论 -
Flask——sqlalchemy数据库查询
首先将上一篇博文的代码写入de_demo.py中,即在程序开头写入**from db_demo import ***再运行程序。sqlalchemy数据库查询,用以下图片进行举例:常用的SQLAlchemy查询执行器方法说明all()以列表形式返回查询的所有结果first()返回查询的第一个结果,如果未查到,返回Nonefirst_or_404()返回查询的第一个结果,如果未查到,返回404get()返回指定主键对应的行,如不存在,返回Nonege原创 2021-12-17 22:15:34 · 6647 阅读 · 0 评论 -
Flask——创建数据库表
创建数据库表的基本指令: # 清除数据库里的所有数据, 谨慎使用 db.drop_all() # 创建所有的表 db.create_all()完整代码如下:from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)class Config(object): """配置参数""" # sqlalchemy的配置参数 SQLALCH原创 2021-12-15 20:33:09 · 5685 阅读 · 7 评论 -
Flask——创建模型类
上文将配置进行编写,配置如下:from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)class Config(object): """配置参数""" # sqlalchemy的配置参数 SQLALCHEMY_DATABASE_URI = "mysql://root:123456@127.0.0.1:3306/hello_python" #设置每次请求结束后会原创 2021-12-14 09:02:02 · 1204 阅读 · 3 评论 -
Flask——使用sqlalchemy的配置
flask对mysql数据库的操作要预先安装mysql数据库,安装的方法可以参考以下博主的文章:https://blog.csdn.net/zhouzezhou/article/details/52446608,原创 2021-12-12 12:16:06 · 2750 阅读 · 0 评论 -
Flask——模板的包含
模板的包含,简单来说就是用一个html文件来渲染另一个html文件的内容,其格式为:{% include"one.html" %}可以加上ignore missing关键字,在包含的模板不存在时,会自动忽略这条include语句,例如:{% include"one.html" ignore missing %}下面举一个例子,先设置第一个html文件,命名为one.html:<!DOCTYPE html><html lang="en"><head>原创 2021-12-04 08:53:59 · 177 阅读 · 0 评论 -
Flask——模板的继承
先说模板的继承,定义一个父模板(命名为“father.html”),其格式为:{% block top %}{% endblock top %}{% block content %}{% endblock content %}{% block bottom %}{% endblock bottom %}定义一个子模板(命名为“son.html”),其格式为:{% extends "father.html" %}{% block top %}{% endblock top %}下原创 2021-12-03 08:22:36 · 1147 阅读 · 0 评论 -
Flask——宏定义在外部的使用
宏的定义与宏的使用放在同一个文件中会显得杂乱,可以将两者分开,一个html文件存放定义好的宏,一个文件调用编写好的宏,举个例子:编写存放宏的html文件(取名definition.html,记得放在templates文件夹中):<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head>原创 2021-11-30 08:57:28 · 821 阅读 · 0 评论 -
Flask——模板宏的使用
宏类似于python中的函数,宏的作用就是在模板中重复利用代码,避免代码冗杂。宏的使用基本有两种,带参数的和不带参数的宏,首先看不带参数宏的定义和使用,基本格式为:定义: {% macro input() %} <input type="text" name="usename" value="" size="30"> {% endmacro %}使用方式:{{ input() }}举个例子,如下:<!DOCTYPE html><原创 2021-11-29 00:32:17 · 873 阅读 · 0 评论 -
Flask——使用表单并检验参数
回顾上期的程序代码:from flask import Flask,render_templatefrom flask_wtf import FlaskFormfrom wtforms import StringField,PasswordField,SubmitFieldfrom wtforms.validators import DataRequired,EqualToapp = Flask(__name__)# 配置参数SECRET_KEYapp.config["SECRET_KEY原创 2021-11-25 23:50:29 · 677 阅读 · 0 评论 -
Flask——创建表单模型类与模板使用
首先引入表单扩展Flask-WTF:pip install Flask-WTF使用Flask-WTF扩展可以验证后端接受到的信息,防止恶意攻击。WTForms支持的HTML标准字段字段对象说明ringField文本字段TextAreaField多行文本字段PasswordField密码文本字段HiddenField隐藏文件字段DateField文本字段,值为 datetime.date 文本格式DateTimeField文本字段,值为原创 2021-11-25 00:02:30 · 2367 阅读 · 0 评论 -
flask——模板与自定义过滤器
使用模块可以在templates新建一个html文件,如index.html文件,如基础模板分别为:程序基础模板:from flask import Flask,render_templateapp = Flask(__name__)@app.route("/")def index(): data = { "name":"python", } return render_template("index.html",**data) if原创 2021-11-20 21:58:58 · 813 阅读 · 0 评论 -
flask_script脚本扩展的使用
首先安装扩展库Flask_Scriptpip install Flask_Script完整的程序为:from flask import Flask,sessionfrom flask_script import Manager # 脚本启动命令的管理类app = Flask(__name__)# 创立Manger管理类的对象manager = Manager(app)@app.route("/")@app.route("/index")def index(): ret原创 2021-11-20 17:47:25 · 781 阅读 · 2 评论 -
flask——请求钩子的实现
flask支持如下四种钩子:(1)before_first_request:在第一次请求处理之前先被执行(2)before_request:在每次请求之前先被执行(3)after_request:在每次请求(视图函数处理)之后被执行,前提是视图函数没有出现异常,工作在调试模式下(debug=True)(4)teardown_request:在每次请求(视图函数处理)之后被执行,无论视图函数是否出现异常都会执行,工作在非调试模式下(debug=False)实现代码如下:from flask im原创 2021-11-17 08:58:09 · 145 阅读 · 0 评论 -
Flask——session机制的说明
首先要导入session库:from flask import Flask,session第一步:使用session前要先设置密钥app.config["SECRET_KEY"] = "123456"第二部:设置session数据@app.route("/login")def login(): # 设置session数据 session["name"] = "zhangsan" session["age"] = "18" # session["height"]原创 2021-11-07 21:26:05 · 533 阅读 · 0 评论 -
Flask——cookie的使用
Flask的cookie设置有多种方式,以下简述基本的使用方法:1.cookie的设置方法(1)使用set_cookie() 方法进行设置:from flask import Flask,make_responseapp = Flask(__name__)# 设置cookie@app.route("/set_cookies")def set_cookies(): # 设置响应体 resp = make_response("success") # 设置coolie,默原创 2021-11-07 15:45:28 · 3025 阅读 · 0 评论 -
Flask——返回json数据的方法
首先简单了解一下json库,这个库有两个常用的方法: json.dumps(字典) 将python的字典转换为json字符串 json.loads(字符串) 将字符串转换为python中的字典要想返回的是json类型的数据,有以下三种方法:1.将python的字典转化为json字符串,通过构造响应信息进行传递from flask import Flaskimport jsonapp = Flask(__name__)@app.route("/index")def index(原创 2021-11-07 12:44:09 · 15326 阅读 · 1 评论 -
flask——设置响应信息
设置响应信息的方法有两种,一是使用元祖,返回自定义的响应信息;二是使用make_response方法来构造响应体信息,以下来进行描述:1.使用元祖,返回自定义的响应信息from flask import Flaskapp = Flask(__name__)@app.route("/index")def index(): # 1.使用元祖,返回自定义的响应信息 # 响应信息:响应体,状态码,响应头 # return ("hello world", 404 ,[("name原创 2021-11-07 11:22:04 · 592 阅读 · 0 评论 -
Flask——自定义错误信息
Flask可以自定义返回的错误信息,如自定义404的错误信息后,访问时出现404错误后会自动执行对应的404函数,示例如下:from flask import Flask, Response, abortapp = Flask(__name__)@app.route("/login",methods=["GET","POST"])def get_login(): return "hello world"@app.errorhandler(404)def handle_404_err原创 2021-11-05 08:50:40 · 492 阅读 · 0 评论 -
Flask——abort()函数的使用
abort()函数可以立即终止视图函数的执行,并返回前端特定的信息,其方法可分为两种:1.传递状态码信息(必须是标准的http状态码),示例如下:from flask import Flask, Response, abortapp = Flask(__name__)@app.route("/login",methods=["GET"])def get_login(): name = " " pwd = " " if name != "zhangsan" and pwd原创 2021-11-03 08:52:02 · 1201 阅读 · 0 评论 -
python保存文件常用的两种方式
1.使用open()和close()进行写入:# 将文件保存到本地# 1.创建一个文件create_file = open("demo.txt", "w", encoding="utf-8")# 2.添加保存内容data = "hello world"# 3.写入对应文件create_file.write(data)# 4.关闭文件create_file.close()2.使用with方法写入:with open("1111.txt","w",encoding="utf-8") as原创 2021-11-02 09:06:38 · 14252 阅读 · 0 评论 -
Flask——上传文件
Flask上传文件可以使用request.files 进行上传,用save方法直接使用文件上传对象保存,例如:from flask import Flask, requestapp = Flask(__name__)@app.route("/upload",methods=["POST"])def upload(): """接受前端传送过来的文件""" file_obj = request.files.get("pic") if file_obj is None:原创 2021-11-01 08:53:21 · 3507 阅读 · 0 评论 -
Flask——request的form_data_args用法
request中包含了前端发送过来的所有请求数据,在使用前要进行导入request库from flask import Flask,request1.form和data是用来提取请求体数据,通过request.form可以直接提取请求体中的表单格式的数据,是一个类字典的对象,例如:from flask import Flask,requestapp = Flask(__name__)@app.route("/index",methods=["GET","POST"])def index()原创 2021-10-31 22:48:47 · 1616 阅读 · 0 评论 -
flask自定义路由转换器与进阶使用
接上回flask的路由转换器的写法,这回讲述flask的自定义路由转换器以及进阶使用方法。自定义路由转换器写法比较简单,将参数regex进行赋值,直接把方法写入,如日期的定义方法d{4}_d{2}_{2},可将参数定义为regex=d{4}_d{2}_d{2},例如下:# current_app为app的全局代理人,功能上相当于app# redirect跳转界面,可以指定跳转到哪个界面# url_for通过视图函数名字找到对应视图的url路径from flask import Flask,curr原创 2021-10-30 21:52:50 · 444 阅读 · 0 评论 -
flask路由提取参数与自定义路由转换器
flask转换器转换器有以下三种:(1)int:接受证书;(2)float:同int,但是接受浮点数;(3)和默认的相似,但也接受斜线。转换器简单的调用如下:# url_for通过视图函数名字找到对应视图的url路径from flask import Flask,current_app,redirect,url_forfrom werkzeug.routing import BaseConverter# 创建flask的应用对象# __name__表示当前的模块名字#原创 2021-10-29 08:34:55 · 284 阅读 · 0 评论 -
flask视图函数的路由规则设置
1.通过url_map可以查看整个flask的路由信息from flask import Flask,current_app,redirect,url_for# 创建flask的应用对象# __name__表示当前的模块名字# 模块名,flask以这个模块所在的目录为总目录,默认这个目录中的static为静态目录,templates为模板目录app = Flask(__name__)@app.route("/")def index(): """定义的视图函数""原创 2021-10-21 09:03:52 · 194 阅读 · 0 评论 -
flask读取配置参数的方式
flask读取配置参数的方式有两种,以下为各位进行细说:1.直接从全局对象app的config字典中取值@app.route("/)def index(): # 读取配置参数 app.config.get("参数") return "hello flask"2.通过current_app获取参数,current_app为app的全局代理人,功能上相当于app@app.route("/)def index(): # 读取配置参数 current_app.config.get("ITCA原创 2021-10-20 22:07:25 · 1750 阅读 · 0 评论 -
flask应用对象初始化参数配置
flask配置参数有多种方式,本次为各位展示以下三种:1.调用配置文件信息from flask import Flaskapp = Flask(__name__, static_url_path="/static", # 访问静态资源的url前缀,默认值是static static_folder="static", # 设置静态文件的目录,默认值是static template_folder="templates"原创 2021-10-20 08:28:21 · 315 阅读 · 0 评论 -
认识flask
编写第一个flask程序1、首先安装flask的库文件# 点击window+R按键输入cmd后回车,打开cmd命令窗口后输入如下命令:pip install flask# 安装指定版本的flask可使用如下命令(xx.xx.xx代表flask的版本号):pip install flask==xx.xx.xx2、导入flask相关的库文件:from flask import Flask3、创建flask的应用对象(static为静态目录,templates为模板目录,可在程序的原创 2021-09-17 09:04:51 · 188 阅读 · 0 评论