第2,3,4天

163 阅读1分钟

任务一:手写轨迹坐标数据处理

  1. Numpy

五、flask

1. 第一个flask程序--路由请求方式限定

2. 第一个flask程序--路由参数处理

3. 第一个flask程序--jinja2模板引擎简介

4. 第一个flask程序--变量代码块(给模板填充数据)

![](p1-jj.byteimg.com/tos-cn-i-t2…"

5. 控制代码块--for循环

6. 控制代码块--if

7. 过滤器

(无需import任何东西)

8. web表单--普通方式实现

----实例

9. flash消息闪现

1. 视图函数

a、import flash

b、设置flash加密-- app.secret_key = ''

2. 模板页面

10. web表单--WTForms

1.简介

2.WTF表单显示

步骤:1.自定义一个表单类

视图函数:

from flask_wtf import FlaskForm     # 引入基类,待会继承它
from flask_wtforms import StringField,PasswordField,SubmitField    # 引入所需wtf字段
class LoginForm(FlaskForm):         # 定义一个类,继承FlaskForm基类
    username = StringField('用户名:')    
    password = PasswordField('密码:')
    password2 = PasswordField('确认密码:')
    submit = SubmitField('提交')
@app.route('/form',methon = ['GET','POST'])
def login():
    login_form = LoginForm()    # 实例化一个LoginForm对象
    return render_template('index.html',login_form = login_form)    # 向模板传值

模板页面:

左边的是显取出的'字符串'(标签名),右边的是显示框

3.WTF表单逻辑验证

视图函数:

from flask import Flask, render_template, requests, flash
from flask_wtf import FlaskForm     # 引入基类,待会继承它
from wtforms import StringField,PasswordField,SubmitField    # 引入所需wtforms字段
from wtforms.validators import DataRequired, EqualTo         # 引入所需wtforms验证函数 (校验器) 
class LoginForm(FlaskForm):         # 定义一个类,继承FlaskForm基类
    username = StringField('用户名:',validators = [DataRequired()])    
    password = PasswordField('密码:', validators = [DataRequired()]) 
    password2 = PasswordField('确认密码:' validators = [DataRequired(), EqualTo('password', '密码填充不一致')])
    submit = SubmitField('提交')
@app.route('/form',methon = ['GET','POST'])
def login():
    login_form = LoginForm()    # 实例化一个LoginForm对象
    return render_template('index.html',login_form = login_form)    # 向模板传值

if 表单提交校验成功:...

模板页面:

csrf token 作用是 防御CSRF攻击。

11. 一劳永逸的解决中文编码问题:(不用再加u)