flask笔记二
web表单
web表单是浏览者和网之间的一个互动平台,完成浏览器和服务器之间的数据交互。
1、用Flask-WTF来处理表单
(1)在根目录下编辑扩展配置--config.py
CSRF_ENABLED = True
SECRET_KEY = 'you-will-never-guess'
CSRF_ENABLED配置跨站点保护,就是防止程序挟持用户执行非本意的操作,是一种web的攻击行为,这个设置会提高web的安全性。
SECRET_KEY是当CSRE(跨站请求伪造)激活时执行,实现加密用来验证表单,避免网站的恶意攻击。
(2)在Flask中读取该配置文件,(文件 app/__init__.py):
from flask import Flask app = Flask(__name__)
app.config.from_object('config') from app import views
2、用户登录表单的实现
使用 Flask-WTF 时,每个 Web 表单都由一个继承自 Form 的类表示。这个类定义表单中的一组字段,每个字段都用对象表示。字段对象可
附属一个或多个验证函数。验证函数用来验证用户提交的输入值是否符合要求。在这个小程序中是由OpenId完成用户的验证的,类似于Hadoop中的SSH加密算法,不需要
调用数据库中的用户名和密码登录,浏览器会根据用户产生的cookie对用户进行识别。
现在新建第一个表单(app/forms.py):
from flask.ext.wtf import Form
from wtforms import StringField, BooleanField
from wtforms.validators import DataRequired class LoginForm(Form):
openid = StringField('openid', validators=[DataRequired()])
remember_me = BooleanField('remember_me', default=False)
解释:StringField类表示属性为 type="text" 的 <input> 元素;BooleanField表示复选框,选择true或者flase。DataRequired 验证器只是简单地检查相应域提交的数据是否是空。
WTForms支持的HTML标准字段:
aaarticlea/png;base64,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" alt="" />
WTForms内置的验证函数:
aaarticlea/png;base64,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" alt="" width="536" height="347" />
3、创建表单模板
创建好表单,那么现在该做的就是用HTML模板实现表单中的功能。接着用HTML写出布局。
这里就是我们登录的模板(文件 app/templates/login.html):
<!-- extend from base layout -->
{% extends "base.html" %} {% block content %}
<h1>Sign In</h1>
<form action="" method="post" name="login">
{{form2.hidden_tag()}}
<p>
Please enter your OpenID:<br>
{{form2.openid(size=80)}}<br>
</p>
<p>{{form2.remember_me}} Remember Me</p>
<p><input type="submit" value="Sign In"></p>
</form>
{% endblock %}
♦需要注意的是,创建表单模板需要将表单中 “class LoginForm(Form)” 类中的功能 通过参数(这里是form2)传入模板。当我们编写渲染这个模板的视图函数的时候,我们将会特别注意传送这个模板参数到模板中。
♦form.hidden_tag() 模板参数将被替换为一个隐藏字段,用来是实现在配置中激活的 CSRF 保护。如果你已经激活了 CSRF,这个字段需要出现在你所有的表单中。
4、创建表单视图
现在完成渲染模板,因为功能已经在表单中实现,所以只需要在视图中调用一下表单即可。下面是视图文件( app/views.py):
from flask import render_template, flash, redirect
from app import app
from .forms import LoginForm # index view function suppressed for brevity @app.route('/login', methods = ['GET', 'POST'])
def login():
form = LoginForm()
return render_template('login.html',
title = 'Sign In',
form2 = form)
在这里我特别将form2和form区别开来,form2其实就是模板中抽象的概念,没有实际的意义,只有在视图文件中指定它的功能时才被赋予form=LoginForm()的实
例化的功能。也就是上面的模板中form2可以换成任意的变量,只要在视图中赋值就可以了。
flask笔记二的更多相关文章
- flask笔记(二)
Flask中的路由 查看整个flask中的路由映射关系 app.url_map from flask import Flask app = Flask(__name__) @app.route(&qu ...
- flask笔记(三)Flask 添加登陆验证装饰器报错,及解析
Flask 添加登陆验证装饰器报错,及解析 写这个之前,是想到一个需求,这个是关于之前写Flask笔记(二)中的一个知识点,路由相关 需求为 : 有一些页面必须是登陆之后才能访问的,比如Shoppin ...
- Flask笔记1
Flask笔记 首先明确一下,要运行一个动态网页,我们需要 一个 Web 服务器来监听并响应请求,如果请求的是静态文件它就直接将其返回,如果是动态 url 它就将请求转交给 Web 应用. 一个 We ...
- 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...
- jQuery源码笔记(二):定义了一些变量和函数 jQuery = function(){}
笔记(二)也分为三部分: 一. 介绍: 注释说明:v2.0.3版本.Sizzle选择器.MIT软件许可注释中的#的信息索引.查询地址(英文版)匿名函数自执行:window参数及undefined参数意 ...
- Flask备注二(Configurations, Signals)
Flask备注二(Configuration, Signals) Flask是一个使用python开发Web程序的框架.依赖于Werkzeug提供完整的WSGI支持,以及Jinja2提供templat ...
- Mastering Web Application Development with AngularJS 读书笔记(二)
第一章笔记 (二) 一.scopes的层级和事件系统(the eventing system) 在层级中管理的scopes可以被用做事件总线.AngularJS 允许我们去传播已经命名的事件用一种有效 ...
- Python 学习笔记二
笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
随机推荐
- 用Redis存储Tomcat集群的Session
作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 前段时间,我花了不少时间来寻求一种方法,把新开发的代码推送到到生产系统中部署,生产系统要能够零宕机.对使用 ...
- C#基础之------委托
一.委托的基本介绍 可以任务委托是持有一个或多个方法的对象.当然,正常情况下你不会去执行一个对象,但是委托与对象不同.可以执行委托,这是委托就会执行他所"持有"的方法. 举个栗子就 ...
- Win10或Win8下ObjectARX2015 Wizard向导创建项目失败解决方法
[原创]objectARX 2015 Wizard安装向导在Win8/win10下无法创建项目的解决方法总结by edata @2017-5-1objectARX 2015 Wizard安装向导在Wi ...
- ajax分页实现(php)
ajax分页实现(php) 使用jquery.pagination.js插件 引入js文件.css文件 <link rel="stylesheet" href="/ ...
- ST-4
1.(49-7)使用下面的方法printPrimes()完成后面的问题: (a)为printPrimes()方法画控制流图. (b)考虑测试用例t1=(n=3)和t2=(n=5).即使这些测试用例游历 ...
- hdu4597 Play Game 区间DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4597 全国邀请赛通化赛区第8题--题目重现 思路: 区间DP的思想,想法是队友想出来的,感觉很秒,自己 ...
- 深入理解Java常用类----String(二)
上篇介绍了String类的构造器,获取内部属性等方法,最后留下了最常用的局部操作函数没有介绍,本篇将接着上篇内容,从这些最常见的函数的操作说起,看看我们日常经常使用的这些方法的内部是怎么实现的.第一个 ...
- 0基础搭建Hadoop大数据处理-编程
Hadoop的编程可以是在Linux环境或Winows环境中,在此以Windows环境为示例,以Eclipse工具为主(也可以用IDEA).网上也有很多开发的文章,在此也参考他们的内容只作简单的介绍和 ...
- 如何安装Elasticsearch?
最近工作中要用到搜索引擎,由于目前用的搜索引擎是LeanCloud 提供的 ,不太好用,不支持范围等搜索,而且每天还收费30元,请求次数也有限制.基于这些原因,我们只好在自己的服务器上部署搜索引擎了. ...
- DIV上下居中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...