
Flask
Flask相关知识
奋斗在阿尔卑斯的皮卡丘
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在vue前端下载csv用excel打开是乱码的问题解决方案
背景前端下载csv文件,Excel打开乱码的问题。前端下载代码很简单,利用HTML5的blob接口生成前端下载链接,实现下载。那问题出在哪里呢?读入的文件是utf-8格式,下载下来Excel打开乱码,但是用其他编辑器打开并不是乱码,一开始解决问题的思路是,下载文件的时候,是不是没有指定编码方式,导致文件编码方式不对,于是乎使用了Blob里的type参数,硬塞了一个类型以及编码方式,但是这种方法似乎并不管用,仔细读了官方文档之后,关于type的解读如下:type,默认值为 “”,它代表了将会被放入到转载 2022-03-02 21:48:58 · 3069 阅读 · 2 评论 -
Vuejs之axios获取Http响应头,flask后端返回csv文件,获取不到文件名
今天在开始接入后端Api 就遇到了一个问题了在用 axios 获取 respose.headers时候获取到的只有的content-length: 61554content-type: "text/csv"下面是服务器返回的响应头, 我需要拿到的是 Content-Disposition原来在默认的请求上, 浏览器只能访问以下默认的 响应头Cache-ControlContent-LanguageContent-TypeExpiresLast-Modified转载 2022-03-02 21:39:48 · 834 阅读 · 0 评论 -
flask后端将接收到的文件上传到另一个服务器
我已经通过 flask 提交了一个文件,在后端收到它之后,我想进一步将它上传到另一个服务器。首先是服务器接收文件image_data = request.files.get("img_data")bucket_name = 'default'在flask中我得到的文件是 FileStorage 对象。我不想在我的服务器上保存它,而是直接希望它进一步上传。response = image_api.upload_image(image_data.filename, image_data, bucke原创 2020-12-10 14:35:52 · 972 阅读 · 1 评论 -
flask sqlalchemy 根据日期查询数据库记录
用flask-sqlalchemy以orm模式根据日期查询数据库记录我数据库mytable中有一个string类型字段pay_date,然后我们需要查询今天的数据记录,正常我们sql语句来做这个事,非常简单,地球人都知道,用DATE()嘛select * from mytable where DATE(create_date) == '2020-12-08'然鹅,我们flask-sqlalchemy的orm模式呢:ormModel.query.filter(“xxxx”)这里面的xxx怎么写,我真原创 2020-12-09 10:34:01 · 2882 阅读 · 0 评论 -
flask实现:前端上传excel文件,后端将文件解析
@app.route('/upload', methods=['POST'])def his_upload_clinic_detail(): file_data = request.files.get('file_data') if not file_data: return R.fail('请上传文件') # 这是将文件转为流,在xlrd中打开 f = file_data.read() clinic_file = xlrd.open_workbook(fil原创 2020-12-09 10:01:02 · 2843 阅读 · 1 评论 -
flask多条件查询的简单方式
想实现多个条件查询,但是又有空的情况,可以用*filter_list的方式来可选添加# 这里按照优先级大小来进行判定filter_list = []# 如果什么条件都没有if any([start_date, end_date, app_order_id, trade_no, is_handled, order_status]): # 如果查询有时间 if start_date and end_date: start_date = datetime.strptime(原创 2020-12-07 17:32:00 · 2097 阅读 · 5 评论 -
flask下载excel文件
实现在flask框架下,创建个excel对象,下载到本地。from flask import Flaskfrom flask import make_responsefrom io import BytesIOapp = Flask(__name__)@app.route('/download', methods=['POST'])def his_unilateral_download(): try: params = request.json t原创 2020-12-07 17:08:16 · 1466 阅读 · 0 评论 -
SQLAlchemy中时间和日期格式的查询,比较对象为字符串str
关键函数是func.time_format和func.date_format包为from sqlalchemy.sql.functions import func或from sqlalchemy import func brush_data = session.query(RegisterOrder).filter(func.date_format('2020-03-21', "%Y-%m-%d") == func.date_format(RegisterOrder.trade_date, "%Y原创 2020-07-10 10:18:25 · 4142 阅读 · 0 评论 -
flask返回存储在数据库中的图像
我的图像存储在Mysql中,我想将它们返回给客户端用数据创建一个响应对象,然后设置内容类型标题。attachment如果希望浏览器保存文件而不显示文件,则将内容处置标题设置为。@app.route('/images/<int:pid>.jpg')def get_image(pid): image_binary = read_image(pid) response = make_response(image_binary) response.headers.set('原创 2020-05-26 14:43:52 · 1072 阅读 · 0 评论 -
flask-SQLAlchemy数据库模型插入数据的时候使用session.commit()必须处理异常回滚db.session.rollback()
最为原始的try/except办法,多次插入数据就要写多次,很麻烦,使用python原生的contextlib.contextmanager简化代码! try: user_db = User(email=self.email, nickname=self.nickname, password=self.password) db.session.add(user_db) #所有的数据处理准备好之后,执行commit才会提转载 2020-05-26 11:37:08 · 1472 阅读 · 0 评论 -
Flask---SQLAlchemy中从datetime字段获取某月份的数据
需求:在使用Flask开发项目,需要按月份进行汇总,在数据库的历史记录中,我使用了datetime记录日期和时间,那么如何获取某月份的所有数据呢?第一种方法:一种方法是先获取那个月份的第一天和最后一天的datetime,再使用between,例如:# 基于Flask的SQLAlchemy# modelsclass History(db.Model): __tablename__ = 'historys' id = db.Column(db.Integer, primary_ke转载 2020-07-13 17:12:19 · 1199 阅读 · 0 评论 -
flask_sqlalchemy中的db.session.query()和model.query()的区别
先申明一下,我喜欢从问题入手问题描述:使用db.session.commit()提交数据后,使用model.query()查不到新增加的数据问题原因分析:db.session.commit()是提交了数据到数据库,但是没有刷新模型映射中的数据,也就是model.query()中的数据。而使用db.session.query()则是 从整个服务会话中进行查询,而db.session.commit()提交的数据在这里是有刷新的。结果敬告:建议不要使用model.query(),很坑!建议使用db转载 2020-06-11 14:47:32 · 1693 阅读 · 0 评论 -
本地Flask服务器上的请求缓慢
刚刚开始在本地服务器上使用Flask,我注意到请求/响应时间比我觉得他们应该慢。只是像下面这样简单的服务器需要接近5秒的时间来响应。from flask import Flask app = Flask(__ name__) @ app.route(/) def index(): returnindex if __name__ ==__main__: app.run()解决方案好吧,我想通了。这似乎是与Werkzeug和os的支持ipv6的问题。在支持ipv6的操作系统原创 2020-06-04 18:00:20 · 2930 阅读 · 1 评论 -
python解决SQLAlchemy+MySQL插入数据时报警告Warning(1366Incorrect stringvalue\\xD6\\forcolumn
1.工具环境Pycharm2018.3python3.7Anaconda3.7mysql5.7sqlalchemy1.2.152.问题描述在插入数据的时候抛出以下异常:Warning: (1366, "Incorrect string value: '\\xD6\\xD0\\xB9\\xFA\\xB1\\xEA...' for column 'VARIABLE_VALUE' at row 484")result = self._query(query)3.相关代码from sqlal转载 2020-06-04 17:51:12 · 639 阅读 · 0 评论 -
ValueError:-path-is-on-mount-c:,-start-on-mount-D:
今天在运行项目的时候,发现报这个错。找原因,确定是flask_debugtoolbar抛出的问题搜索了好久,发现这里有很多包都是从C盘导入的,所以将他们都卸载,重新安装,到了d盘结果项目就正常了原创 2020-06-04 14:34:40 · 4605 阅读 · 2 评论 -
flask_sqlalchemy中db.session是如何保持请求间独立的
本文主要是为了验证两个问题:flask处理请求时通过新建线程、进程、协程的区别(顺带一提)flask_sqlalchemy是如何使用db.session使多个请求中保函的改变同一个表的sql操作不相互影响的,专业名词是会话范围或Session作用域(主要探讨)一个简单的例子# -*- coding:utf-8 -*-from sqlalchemy.orm.session import Session # 线程不安全from sqlalchemy.orm import scoped_session转载 2020-05-26 11:56:51 · 2294 阅读 · 0 评论 -
解决python web开发启动报错:urls must start with a leading slash
做泛域名解析时出错urls must start with a leading slash查了半天一直以为是子域名设置有问题,后来检查才知道,蓝图(Blueprint)下面的一个目录的路由@api.route(‘index’)没加斜杠,改成@api.route(’/index’)就正常了。之前没做子域名设置的时没出错,所有一直没注意以为是子域名设置不对。犯了个低级错误,记下这个愚蠢的行为。————————————————版权声明:本文为CSDN博主「chengqiang20152015」的原创文章,遵转载 2020-05-26 11:39:45 · 714 阅读 · 0 评论 -
flask插件系列之flask_session会话机制
flask_session是flask框架实现session功能的一个插件,用来替代flask自带的session实现机制。配置参数详解SESSION_COOKIE_NAME设置返回给客户端的cookie的名称,默认是“session”;放置在response的头部SESSION_COOKIE_DOMAIN设置会话的域,默认是当前的服务器,因为Session是一个全局的变量,可...转载 2020-04-30 11:52:22 · 472 阅读 · 0 评论