一、原生表单
form.html
{% extends 'common/base.html' %}{% block title %} 原生表单{% endblock %}{% block pagecontent %}{# <form action="{{ url_for('check') }}" method="post">#} <form action="{{ url_for('form') }}" method="post"> <p>用户名: <input type="text" name="username" placeholder="请输入用户名" maxlength="12"></p> <p>密码: <input type="password" name="userpass" placeholder="请输入密码..."></p> <p><input type="submit" value="提交"></p> </form>{% endblock %}
manage.py
@app.route('/form/')def form(): return render_template('form1.html')#接收表单的数据@app.route('/check/',methods=['POST'])def check(): print(request.form) return '提交过来了'
将俩个路由地址合并为同一个
@app.route('/form/',methods=['GET','POST'])def form(): if request.method == 'POST': print(request.form) return render_template('form1.html')
二、使用flask-wtf表单扩展库
作用: 是一个用于表单处理的扩展库 提供表单的校验 csrf的功能
pip install flask-wtf
使用
(1) 字段类型
字段名称 | 字段类型 |
---|---|
StringField | 普通文本字段 |
PasswordField | 密码框 |
SubmitField | 提交按钮 |
TextAreaField | 多行文本域 |
HiddenField | 隐藏域 |
DateField | 日期 |
DateTimeField | 日期时间 |
IntegerField | 整形 |
FloatFIeld | 浮点型 |
RadioField | 单选字段 |
SelectField | 下拉 |
FileField | 文件上传字段 |
BooleanField | 布尔字段 |
(2) 验证器
验证器 | 说明 |
---|---|
DataRequired | 必填 |
Length | 长度 min max |
IPAddress | IP地址 |
邮箱 | |
URL | 地址 |
Regexp | 正则匹配 |
EqualTo | 验证俩个字段值的正确性 |
NumberRange | 输入值的范围 min max |
新闻热点
疑难解答