flask
文章平均质量分 63
差点是美男****
没
展开
-
flask在*蓝图*中定义错误页面
今天想在自定义下错误页面,发现网上的都是做了个简单的例子,跟官网一样,但是在实际项目中一般都是用蓝图的,注意是在蓝图下自定义错误页面。在蓝图下使用:@蓝图名称.app_errorhandler(404)先在templates目录下新建404页面# 自定义错误页面,e未错误信息@main_bp.app_errorhandler(404)def page(e): '''页面未找到错误''' print('404**************************************原创 2021-01-23 20:55:56 · 135 阅读 · 0 评论 -
flask:使用jquery post请求带上csrf_token
前言:今天制作删除按钮时遇到了,所以就记录下来很简单,根据表单表单提交是这样的<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">ajax就是这样咯,键值对$.post("url", {csrf_token:"{{ csrf_token() }}"});...原创 2020-12-22 21:10:27 · 520 阅读 · 0 评论 -
flask模板引擎遍历,使每一行输出固定个数HTML标签
前言,今天在flask模板引擎中,需要前端每一行只能显示四个a标签,超出则换行。测试代码s = 'qwerkfjdgkajfkdsjflsd'for i in range(1, len(s)): print(s[i], end='') if i % 4 == 0: print()结果项目片段代码:flask+bootstrop <div class="row"> {% for i in range(1, my_list | len原创 2020-12-14 21:33:34 · 428 阅读 · 0 评论 -
flask中SQLAlchemy使用MySQL的mediumtext字段类型
模型中添加MySQL中的mediumtext字段类型安装sqlalchemy后,导入from sqlalchemy.databases import mysql # 定义MySQL特有的字段类型在模型中使用class UserModel(FlaskModel): __tablename__ = 'user' # 定义字段类型 content = db.Column(mysql.MSMediumText, nullable=False)迁移后在MySQL数据库中就会生成原创 2020-12-13 15:44:57 · 1635 阅读 · 0 评论 -
flask后端使用缓存防止表单重复提交表单
原因:今天使用flask发送邮件时,快速点击了发送按钮,然后导致表单重复提交,邮件发送了多封的问题。解决:使用缓存思路:第一次提交表单的时候,处理完了后将一个标记存入缓存中,设置过期时间30秒,然后在最开始post请求时判断缓存里是否有标记,有则表示重复提交表单了(真是太聪明了)安装:pip install flask-caching配置from flask_caching import Cachecache = Cache() # 缓存cache.init_app(app, conf原创 2020-12-07 19:05:41 · 1774 阅读 · 1 评论 -
flask-mail发送异步邮件
今天在做用户注册发送激活邮件时,看到邮件发送比较耗时,而且界面会卡在哪里,当时啪一下,马上就想到了使用多线程发送异步邮件,很快嗷。但是,实现了后运行发现什么运行在什么之外,什么应用上下文上下文,马上看了下官方文档http://www.pythondoc.com/flask/appcontext.html,吧啦吧啦的。下面完整代码,send_email.py,最关键的是应用上下文app.app_context()from flask_mail import Messagefrom exts impor原创 2020-12-02 18:20:28 · 308 阅读 · 1 评论 -
记一个坑(已解决):flask-mail发送html邮件中超链接无效问题
一定一定要加上http://开头,因为发送邮件后就不是在你本地了原创 2020-12-02 09:54:43 · 388 阅读 · 0 评论 -
flask-wtf表单验证与pillow图形验证码
flask-wtf用来验证表单数据,pillow用来生成图片验证码1. 安装pip install flask-wtfpip install pillow编写在flask项目下创建form.py,表单验证类from flask_wtf import FlaskForm # 继承的父类from wtforms import StringField, PasswordField, DateField # 字段from wtforms.validators import DataRequi原创 2020-10-09 23:23:18 · 405 阅读 · 0 评论 -
flask使用缓存
这里使用redis跟flask-caching,可以参考文档:huanhttps://pythonhosted.org/Flask-Caching/使用redis做缓存主要是速度快,缓存一些不经常变化的但访问量大的页面,使用户体验更好。安装redis数据库pip install redispip install flask-caching在你的项目创建create_app函数下初始化缓存打开redis服务from flask_caching import Cache # 缓存cach原创 2020-10-08 14:55:37 · 821 阅读 · 0 评论 -
flask使用七牛云存储图片并展示
注册七牛云,实名认证,点击对象存储,创建公开空间找到python SDK,在项目下创建一个util.py文件,粘贴下去util.py修改如下from qiniu import Auth, put_file, etag, put_dataimport qiniu.configimport randomimport datetimefrom werkzeug.utils import secure_filename # 生成安全的文件名def upload(filestorage): .原创 2020-10-05 16:50:56 · 378 阅读 · 1 评论 -
flask分页
flask分页使用paginate(), 返回一个分页对象,参数如下paginate(page=当前页, per_page=每页多少条, max_per_page=每页最大多少条)具体使用1、后端从数据库查询数据,在后面加上paginate函数,得到分页对象,返回前端渲染pagination = Article.query.order_by().paginate(page=p, per_page=2, max_per_page=20)return render_template('index.h原创 2020-10-04 15:31:40 · 365 阅读 · 0 评论 -
Flask蓝图的搭建
flask蓝图是为了把文件分开,让项目更清晰,便于维护,跟django的项目目录差不多蓝图项目结构如下展开settings.py是配置文件,所有的配置都在里面# 在这里自定义配置DEBUG = TrueENV = 'development' # 开发环境,生产环境:productionapps的__init__.py添加代码如下from flask import Flaskimport settings # 导入配置from apps.user.view import user原创 2020-08-26 15:45:21 · 260 阅读 · 0 评论 -
flask模板渲染,重定向
视图,具体请看注释render_template从模板文件夹中呈现给定的模板redirect重定向request请求对象url_for结合redirect用,反向解析url,在路由加上endpoint=‘index’学过django后再学这个感觉要飞起来了# 渲染模板引擎 重定向 请求对象 反向解析重定向from flask import Flask, render_template, redirect, reque原创 2020-08-25 20:11:58 · 556 阅读 · 1 评论 -
flask1.1.2基本骨架
模板文件夹,静态文件夹,虚拟环境(不是必须),剩下就是配置跟视图等文件app.py 是主要的运行程序from flask import Flaskimport settings # 导入自定义的配置文件app = Flask(__name__)app.config.from_object(settings) # 加载配置文件# print(app.config) # 打印配置文件# 路由@app.route("/")def index(): return 'hello原创 2020-08-24 16:28:42 · 604 阅读 · 0 评论