python flask 表单提交_python flask web开发实战 表单 form flask-wtf

本文介绍了如何在Python Flask应用中使用Flask-WTF库创建表单并进行验证。通过NameForm类定义字段及验证规则,并在HTML模板中渲染表单。同时展示了使用hidden_tag防止CSRF攻击,以及处理表单提交后的数据处理和用户登录状态的管理。
摘要由CSDN通过智能技术生成

hello.py 中CSRF

app = Flask(name)

app.config['SECRET_KEY'] = 'hard to guess string'

1、

表单,hello.py

from flask.ext.wtf import Form

from wtforms import StringField,SubmitField

from wtforms.valiadators import Required

class NameForm(Form):

name=StringField('What is your name?',validators=[Required()])

submit=SubmitField('Submit')

html 基本不适用

{{ form.hidden_tag() }}

{{ form.name.label }} {{ form.name(id='my-text-field') }}

{{ form.submit() }}

or #html 使用bootstrap渲染表单,wtf.quick_form(form)

{% extends "base.html" %}

{% import "bootstrap/wtf.html" as wtf %}

{% block title %}Flasky{% endblock %}

{% block page_content %}

{{ wtf.quick_form(form) }}

{% endblock %}

hello.py @app.route('/',methods=['GET','POST']) form.name.data

@app.route('/', methods=['GET', 'POST'])

def index():

name = None

form = NameForm()

if form.validate_on_submit():

name = form.name.data

form.name.data = ''

return render_template('index.html', form=form, name=name)

2、

支持

StringField

TextAreaField

PasswordField

HiddenField

DateField

DateTimeField

IntegerField

DecimalField

FloatField

BooleanField 复选框

RadioField

SelectField

SelectMultipleField

FileField 文件上传

SubmitField

FormField

FieldList

3、

验证

Email

EqualTo

IPAddress

Length

NumberRange

Optional

Required 确保有数据

Regexp 正则

URL

AnyOf 在值内

NoneOf 不在

4、

###########记住用户是否登录,

from flask import Flask, render_template, session, redirect, url_for

@app.route('/', methods=['GET', 'POST'])

def index():

form = NameForm()

if form.validate_on_submit():

session['name'] = form.name.data

return redirect(url_for('index'))

return render_template('index.html', form=form, name=session.get('name'))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值