随笔分类 -  Flask

1
摘要:from math import ceil import csv import codecs @app.before_request def load_csv(): g.path = 'C:\\12.csv' @app.route('/read_csv/page/<int:page_num>') d 阅读全文
posted @ 2017-05-09 13:17 sysnap 阅读(208) 评论(0) 推荐(0)
摘要:################################################################################ from flask.ext.login import LoginManager, login_required, UserMixin, 阅读全文
posted @ 2017-04-19 11:01 sysnap 阅读(914) 评论(0) 推荐(0)
摘要:1 未登录访问鉴权页面如何处理? 如果未登录访问了一个作了 login_required 限制的 view,那么 Flask-Login 会默认 flash一条消息,并且将重定向到login_view,如果你没有指定login_view,那么 Flask-Login 将会抛出一个 401 错误,比如 阅读全文
posted @ 2017-04-19 10:58 sysnap 阅读(611) 评论(0) 推荐(0)
摘要:1 login_required 内部原理,主要是判断当前用户是否已经授权访问,如果没被授权就调用current_app.login_manager.unauthorized() current_user.is_authenticated,current_user是哪来的,其实就是通过调用_get_ 阅读全文
posted @ 2017-04-18 20:53 sysnap 阅读(1366) 评论(0) 推荐(0)
摘要:1 后台程序直接生成文件内容 from flask import make_response @app.route('/testdownload', methods=['GET']) def testdownload(): content = "long text" response = make_ 阅读全文
posted @ 2017-03-31 19:58 sysnap 阅读(4293) 评论(0) 推荐(0)
摘要:1 直接返回字符串 可以返回状态码 @app.route('/testresponse', methods=['GET', 'POST']) def testresponse(): return "xxxxxxxx", 400 2 响应Response对象 利用make_reponse()函数接受字 阅读全文
posted @ 2017-03-28 14:26 sysnap 阅读(1786) 评论(0) 推荐(0)
摘要:1 wtforms内置的校验器 Class wtforms.validators.DataRequired(message=None)此验证器将会检测field是否输入了数值,实际上是进行了if field.data操作。并且,如数数据是一个字符串,那么只包含空格的字符串将会被认为是False。参数 阅读全文
posted @ 2017-03-17 21:19 sysnap 阅读(4745) 评论(0) 推荐(0)
摘要:1 配置 可以使用Flask-WTF来处理web表单,在使用之前要先配置下,打开config.py,编辑添加如下内容 WTF_CSRF_ENABLED设置为True主要是开启CSRF保护,SECRET_KEY是为了实现CSRF保护,Flask-WTF需要应用程序去配置一个加密密钥。Flask-WTF 阅读全文
posted @ 2017-03-17 21:05 sysnap 阅读(3925) 评论(0) 推荐(0)
摘要:当从模板生成 HTML 时,始终有这样的风险:变量包含影响已生成 HTML 的字符。有两种 解决方法:手动转义每个字符或默认自动转义所有的东西。 Jinja 两者都支持,使用哪个取决于应用的配置。默认的配置未开启自动转义有这样几个 原因: 转义所有非安全值的东西也意味着 Jijna 转义已知不包含 阅读全文
posted @ 2017-03-16 17:05 sysnap 阅读(2986) 评论(0) 推荐(0)
摘要:过滤器 过滤器是个函数,参数就是管道(pipe)前面那个变量。比如 123|myfilter,123就是myFilter的参数。如果需要两个参数,则在myFilter后面加(),即123|myFilter(234) 主要作用就是 可以在模板中以管道的方式用pyhton的代码处理字符串,过滤器用 | 阅读全文
posted @ 2017-03-16 17:03 sysnap 阅读(2419) 评论(0) 推荐(0)
摘要:一 宏 宏类似常规编程语言中的函数。它们用于把常用行为作为可重用的函数,取代 手动重复的工作。如果宏在不同的模板中定义,你需要首先使用 import,比如 在命名空间中,宏之后可以像函数一样调用: 二 call宏和{{ caller() }} 这里我们使用了”{% call %}”语句块来调用宏,语 阅读全文
posted @ 2017-03-16 12:27 sysnap 阅读(2037) 评论(0) 推荐(1)
摘要:一 简要 简单的来说模板继承包含基本模板和子模板。其中基本模板里包含了你这个网站里的基本元素的基本骨架,但是里面有一些空的或者是不完善的块(block)需要用子模板来填充。 二 基本模版样例 这个模板,我们会把它叫做 base.html ,定义了一个简单的 HTML 骨架文档 三 子模版样例 四 嵌 阅读全文
posted @ 2017-03-15 17:32 sysnap 阅读(454) 评论(0) 推荐(0)
摘要:一 简介 在Flask中,调用render_template来对模版进行渲染,使用render_template,只需要导入这个API就可以,from flask import render_template 模板仅仅是文本文件。它可以生成任何基于文本的格式(HTML、XML、CSV、LaTex 等 阅读全文
posted @ 2017-03-15 16:21 sysnap 阅读(713) 评论(0) 推荐(0)
摘要:使用 Flask-SQLAlchemy 来操作数据库 1 配置 本文使用sqlite来作为例子演示,在config.py里面更新下数据库的配置 Flask-SQLAlchemy会引用到 SQLALCHEMY_DATABASE_URI 来获取数据库的存储位置,SQLAlchemy-migrate 会引 阅读全文
posted @ 2017-03-14 12:54 sysnap 阅读(1976) 评论(0) 推荐(0)
摘要:1 一对多 一个parent对多个child,一对多关系添加一个外键到child表,用于保存对应parent.id的值,引用parent。relationship()在parent中指定,引用/保存 一批 child 表中关联的条目 2 多对一 多个parent对一个child。多到一 在paren 阅读全文
posted @ 2017-03-06 17:37 sysnap 阅读(351) 评论(0) 推荐(0)
摘要:>>> from sqlalchemy import Column, Integer, String >>> class User(Base): ... __tablename__ = 'users' ... ... id = Column(Integer, primary_key=True) .. 阅读全文
posted @ 2017-03-06 17:24 sysnap 阅读(484) 评论(0) 推荐(0)
摘要:relationship函数是sqlalchemy对关系之间提供的一种便利的调用方式, backref参数则对关系提供反向引用的声明 1 背景 如没有relationship,我们只能像下面这样调用关系数据 如果在User中使用relationship定义addresses属性的话, address 阅读全文
posted @ 2017-03-01 14:46 sysnap 阅读(3767) 评论(0) 推荐(1)
摘要:1表与表之间三种关系 1.1 一对一关系 举例: 一个丈夫对应一个妻子,一个妻子对应一个丈夫 1.2 一对多关系 举例:一个人可以拥有多辆汽车,要求查询某个人拥有的所有车辆 分析:这种情况其实也可以采用 一张表,但因为一个人可以拥有多辆汽车,如果采用一张表,会造成冗余信息过多。好的设计方式是,人和车 阅读全文
posted @ 2017-02-28 16:53 sysnap 阅读(651) 评论(0) 推荐(0)
摘要:1 定义模型 在 ORM 中,模型一般是一个 Python 类, 代表数据库中的一张表, 类中的属性对应数据库表中的列。Flask-SQLAlchemy 创建的数据库实例为模型提供了一个基类db.Model以及一系列辅助类和辅助函数,可用于定义 模型/表 的结构。下面的例子定义了两个表,一个是用户角 阅读全文
posted @ 2017-02-24 17:23 sysnap 阅读(1753) 评论(0) 推荐(0)
摘要:对象关系映射(Object Relational Mapping,简称ORM使用DB-API访问数据库,需要懂 SQL 语言,能够写 SQL 语句,如果不想懂 SQL,又想使用关系型数据库,可以使用 ORM,一个 ORM , 它的一端连着 Database, 一端连着 Python DataObje 阅读全文
posted @ 2017-02-24 16:31 sysnap 阅读(429) 评论(0) 推荐(0)

1