flask
yy19890521
没啥
展开
-
flask中设置和获取cookie
什么是cookie?如果单单从数据结构的角度来说,它可以被理解成用来保存数据的一个dictionary,由一组组键值对组成.如果从作用上来说,我们知道Http协议是一种无状态的协议.什么叫无状态呢,就是本次的客户端请求不会保留上一次客户端请求的状态,简单点说就是这样会要求我们每次在浏览器中点开一个网站的链接都会输一次账户和密码.cookie就是用来解决这个问题的. 为了解决上述问题,我们第一次登录...转载 2018-07-16 11:10:32 · 1381 阅读 · 0 评论 -
Flask 学着用模板 render_template
简单的几句话你可以这么写,要是整的一个网页,你可没法把代码都拖在return后面吧所以,引入了模板功能。模板:模板的位置放在templates文件夹下面,一般是html文件,我们把index.html改动成如下样式<html> <head> <title>{{title}} - microblog</title> </head>...转载 2018-07-13 17:13:29 · 66952 阅读 · 6 评论 -
flask-Form表单
Form表单是Web应用中最基础的一部分。为了能处理Form表单,Flask-WTF扩展提供了良好的支持。1 安装pip install flask-wtf 2 开启CSRF保护Flask-WTF提供了对所有Form表单免受跨站请求伪造(Cross-Site Request Forgery,CSRF)攻击的技术支持(通过添加动态token令牌的方式,关于CSRF可以自行在网上...转载 2018-07-19 19:02:10 · 13343 阅读 · 2 评论 -
flask中连接MySQL出现ModuleNotFoundError: No module named 'MySQLdb'错误
在Flask中连接MySQL时出现ModuleNotFoundError: No module named 'MySQLdb'错误,只要在配置SQLALCHEMY_DATABASE_URI时,加上一个pymysql就可以了: app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:dzd123@localhost/你的数据库名' ...转载 2018-07-20 19:09:25 · 1714 阅读 · 0 评论 -
理解 Flask中的 工厂函数
在我们开始学习FLask的时候,创建应用的实例是用app=Flask(name)来做的,但是当我们想创建多个不同配置的实例的时候咋办呢,每次都要改是不是很烦,那为了减少麻烦,我们可以采用调用一个create_app函数来返回应用实例的方法,这就是工厂方法的大概意思啦! 文字说的再多也难以帮助理解,看代码示例:1.最初的写法#__init__.py里面创建实例,应用实例对象创建完再引入视...转载 2018-07-30 11:39:30 · 484 阅读 · 0 评论 -
flask-使用SQLAlchemy对博客文章进行分页
我们在浏览某个博客网站时,如果博客文章过多,往往都进行了分页显示,比如CSDN中个人博客的首页显示。在flask中SQLAlchemy不但可以进行数据建模和数据查询等等,由于其支持分页查询,我们还可以利用其对我们的文章进行分页。一、创建博客数据模型 在介绍使用SQLAlchemy对博客进行分页之前,我们需要先创建博客的数据模型,并向数据库中插入试验用的博客的数据。我们将博客的...转载 2018-07-30 17:36:40 · 600 阅读 · 0 评论 -
Flask - 基本配置
配置flask中的配置文件是一个flask.config.Config对象(继承字典)配置方法 1 方式一: 2 app.config['DEBUG'] = True 3 4 PS: 由于Config对象本质上是字典,所以还可以使用app.config.update(...) 5 6 方式二: 7 app.config.from_p...转载 2018-07-31 18:05:39 · 293 阅读 · 0 评论 -
flask-sqlalchemy中engineer值一直为none
采用单模块时,sqlalchemy(app),可以很轻易的给engineer赋值。转换成工程模式之后,在app.py中调用了sqlalchemy.init_app(app),在model模块中,引入sqlalchemy后,打印出engineer的值,始终为none。查找资料后,发现跨模块之后,就要用到app的上下文环境对应,所以要在model块中增加上下文环境的代码:app=cre...原创 2018-08-06 17:41:48 · 551 阅读 · 0 评论 -
在Python的Flask中使用WTForms表单框架的基础教程
1.原始的表单验证页面代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>转载 2018-08-02 13:35:02 · 2137 阅读 · 0 评论 -
flask中response、cookies、session对象使用详解
Response响应对象: 当一个web请求被服务器处理完后,会返回用户请求的响应,这时候就要用到响应对象,根据响应给用户的形式不同,响应对象有以下几种处理方式 1. 如果返回的是一个合法的响应对象,它会从视图直接返回。2. 如果返回的是一个字符串,响应对象会用字符串数据和默认参数创建。3. 如果返回的是一个元组,且元组中的元素可以提供额外的信息。这样的元组必须是(resp...转载 2018-08-07 13:35:57 · 1184 阅读 · 0 评论 -
flask之flash
消息闪现好的应用和用户界面的重点是回馈。如果用户没有得到足够的反馈,他们可能最终会对您的应用产生不好的评价。Flask 提供了一个非常简单的方法来使用闪现系统向用户反馈信息。闪现系统使得在一个请求结束的时候记录一个信息,然后在且仅仅在下一个请求中访问这个数据。这通常配合一个布局模板实现。简单的闪现这里是一个完成的例子:from flask import Flask, flash,...转载 2018-08-07 14:57:00 · 1891 阅读 · 0 评论 -
flask中文文档地址
flask中文文档地址:http://docs.jinkan.org/docs/flask/转载 2018-08-07 14:58:24 · 1235 阅读 · 0 评论 -
flask中四种请求钩子
一 引言 flask中具有四种钩子被做成了修饰器,我们在后端可以进行调用做相关的操作.使用钩子函数时,我们需要借助flask的全局变量g.g作为中间变量,在钩子函数和视图函数中间传递数据.我们先引入全局变量g from flask import g 然后注册一个视图函数,用来显示g中的数据 @app.route...转载 2018-07-19 15:29:30 · 1160 阅读 · 0 评论 -
flask中jinja2设置使用全局变量
globaltest.py#coding:utf-8from flask import Flask, render_templateapp = Flask(__name__)global_var = [0]#定义一个全局变量,存在相应的值def set_var(var):#设置全局变量 global_var[0] = var return ""def get_va...转载 2018-07-16 15:31:55 · 2253 阅读 · 1 评论 -
flask jinja2 - 入门&高级玩法(继承、宏)
官方文档:http://docs.jinkan.org/docs/jinja2/1. 是什么是什么:jinja2是Flask默认支持的模板引擎,它的主要作用是渲染模板2. 怎么用一个最简单的入门程序, 它包含两部分1.test.py# 1.导入依赖包from flask import Flask, render_template # 2.实例化app app = Flask(_...转载 2018-07-16 15:49:03 · 695 阅读 · 0 评论 -
flask自定义错误界面
flask中可自定义错误处理界面,如常见的404错误(客户端请求未知的页面或者路由),和500错误(服务器内部异常):test.py:@app.errorhandler(404) def page_not_found(e): return render_template('404.html'),404 @app.errorhandler(500) def int...转载 2018-07-16 17:04:40 · 1039 阅读 · 0 评论 -
flask中的四种响应类型
1、响应字符串。 这个在前面已经说明过,但是需要指出的是,其实每次视图函数在响应时还可以附带状态码。比如状态码为200,表示请求已经被成功处理。状态码为400,表示请求无效。 @app.route('/') def index(): return 'bad request',400 2、响应Response...转载 2018-07-16 17:09:08 · 2078 阅读 · 0 评论 -
flask-数据库模型的创建
FLASK-SQLAlchemy是flask中一个数据库管理类框架,它封装了对大部分数据库的支持,包括关系型数据库Mysql/Postgres/SQLlite,以及Redis/MongoDB等非关系型数据库,通过SQLAlchemy,我们可以不用再关心SQL语句的使用,只需进行将数据库建模,并像管理一个类对象一样管理数据库即可. 我们先进行数据库的建模,所谓建模就是创建一个类,...转载 2018-07-23 17:56:25 · 626 阅读 · 0 评论 -
flask-数据模型的外键关系
SQL数据库中,两个表之间的关系表现为外键.在SQLAlchemy的模型中,也可以表现这种模型之间的关联关系. class Role(db.Model): __tablename__='roles' id = db.Column(db.Integer,primary_key=True) name = db.Column(db.String(...转载 2018-07-23 17:57:08 · 2905 阅读 · 1 评论 -
flask-利用模型创建数据库
下面可以利用前面创建的Role和User模型开始创建数据库了:1 导入test.py中的数据库模型db: >>> from test import db 2 创建表: >>> db.create_all()3 删除表: >>> db.drop_all() 4 插入行 ...转载 2018-07-23 17:57:58 · 1238 阅读 · 0 评论 -
flask-在视图函数中操作数据库
我们在视图函数中进行如下处理:test.py: @app.route('/',methods=['GET','POST']) def index(): form = NameForm() if form.validate_on_submit(): user = User.query.filter_by...转载 2018-07-23 19:15:35 · 915 阅读 · 0 评论 -
Flask-Moment本地化日期和时间
Moment.js 是一个简单易用的轻量级JavaScript日期处理类库,提供了日期格式化、日期解析等功能。它支持在浏览器和NodeJS两种环境中运行。此类库能够 将给定的任意日期转换成多种不同的格式,具有强大的日期计算功能,同时也内置了能显示多样的日期形式的函数。另外,它也支持多种语言,你可以任意新增一种 新的语言包。Flask-Moment是一个集成moment.js到Jinja2模板的...转载 2018-07-19 11:08:54 · 852 阅读 · 0 评论 -
Flask框架——路由:URL规则与视图函数
1. 概述路由 是MVC架构的Web框架中相当重要的一个概念,也是本节课程的重点。顾名思意,路由就是在迷茫中找出一条路的意思。在Flask框架中,路由 就表示为用户请求的URL找出其对应的处理函数之意。在本节课程,我们将主要从以下几个方面讲解Flask框架中的路由:如何为应用注册路由?如何为路由指定其支持的HTTP方法?如何匹配动态URL?如何对URL中的变量类型进行过滤?如何理解访问点/endp...转载 2018-07-13 14:36:53 · 1198 阅读 · 0 评论 -
【Flask】关于Flask的request属性
前言在进行Flask开发中,前端需要发送不同的请求及各种带参数的方式,比如GET方法在URL后面带参数和POST在BODY带参数,有时候又是POST的表单提交方式,这个时候就需要从request提取参数。这篇文章是总结如何使用request。关于request在Flask的官方文档中是这样介绍request的:对于 Web 应用,与客户端发送给服务器的数据交互至关重要。在 Flask 中由全局的 ...转载 2018-07-12 14:20:50 · 260 阅读 · 0 评论 -
flask response对象
方法或属性描述headers status status_code data get_json(force=False, silent=False, cache=True) is_json max_cookie_size mimetype set_cookie(key, value=”, max_age=None, expires=None, path=’/’, domain=None, secu...转载 2018-07-13 14:57:03 · 1343 阅读 · 0 评论 -
使用Flask实现用户登陆认证的详细过程
用户认证的原理在了解使用Flask来实现用户认证之前,我们首先要明白用户认证的原理。假设现在我们要自己去实现用户认证,需要做哪些事情呢?首先,用户要能够输入用户名和密码,所以需要网页和表单,用以实现用户输入和提交的过程。 用户提交了用户名和密码,我们就需要比对用户名,密码是否正确,而要想比对,首先我们的系统中就要有存储用户名,密码的地方,大多数后台系统会通过数据库来存储,但是实际上我们也...转载 2018-08-07 18:06:12 · 16104 阅读 · 1 评论