开发者接口¶
该部分文档涵盖了 Flask-WTF 的全部接口。
表单和字段¶
-
class
flask_wtf.
Form
(*args, **kwargs)¶ Deprecated since version 0.13: Renamed to
FlaskForm
.
-
class
flask_wtf.
RecaptchaField
(label='', validators=None, **kwargs)¶
-
class
flask_wtf.
Recaptcha
(message=None)¶ Validates a ReCaptcha.
-
class
flask_wtf.
RecaptchaWidget
¶
-
class
flask_wtf.file.
FileField
(label=None, validators=None, filters=(), description='', id=None, default=None, widget=None, render_kw=None, _form=None, _name=None, _prefix='', _translations=None, _meta=None)¶ Werkzeug-aware subclass of
wtforms.fields.FileField
.-
has_file
()¶ Return
True
ifself.data
is aFileStorage
object.Deprecated since version 0.14.1:
data
is no longer set if the input is not a non-emptyFileStorage
. Checkform.data is not None
instead.
-
process_formdata
(valuelist)¶ Process data received over the wire from a form.
This will be called during form construction with data supplied through the formdata argument.
- Parameters
valuelist – A list of strings to process.
-
-
class
flask_wtf.file.
FileAllowed
(upload_set, message=None)¶ Validates that the uploaded file is allowed by a given list of extensions or a Flask-Uploads
UploadSet
.- Parameters
upload_set – A list of extensions or an
UploadSet
message – error message
You can also use the synonym
file_allowed
.
-
class
flask_wtf.file.
FileRequired
(message=None)¶ Validates that the data is a Werkzeug
FileStorage
object.- Parameters
message – error message
You can also use the synonym
file_required
.
-
class
flask_wtf.html5.
SearchInput
(input_type=None)¶ Renders an input with type “search”.
-
class
flask_wtf.html5.
SearchField
(label=None, validators=None, filters=(), description='', id=None, default=None, widget=None, render_kw=None, _form=None, _name=None, _prefix='', _translations=None, _meta=None)¶ Represents an
<input type="search">
.
-
class
flask_wtf.html5.
URLInput
(input_type=None)¶ Renders an input with type “url”.
-
class
flask_wtf.html5.
URLField
(label=None, validators=None, filters=(), description='', id=None, default=None, widget=None, render_kw=None, _form=None, _name=None, _prefix='', _translations=None, _meta=None)¶ Represents an
<input type="url">
.
-
class
flask_wtf.html5.
EmailInput
(input_type=None)¶ Renders an input with type “email”.
-
class
flask_wtf.html5.
EmailField
(label=None, validators=None, filters=(), description='', id=None, default=None, widget=None, render_kw=None, _form=None, _name=None, _prefix='', _translations=None, _meta=None)¶ Represents an
<input type="email">
.
-
class
flask_wtf.html5.
TelInput
(input_type=None)¶ Renders an input with type “tel”.
-
class
flask_wtf.html5.
TelField
(label=None, validators=None, filters=(), description='', id=None, default=None, widget=None, render_kw=None, _form=None, _name=None, _prefix='', _translations=None, _meta=None)¶ Represents an
<input type="tel">
.
-
class
flask_wtf.html5.
NumberInput
(step=None, min=None, max=None)¶ Renders an input with type “number”.
-
class
flask_wtf.html5.
IntegerField
(label=None, validators=None, **kwargs)¶ Represents an
<input type="number">
.
-
class
flask_wtf.html5.
DecimalField
(label=None, validators=None, places=<unset value>, rounding=None, **kwargs)¶ Represents an
<input type="number">
.
-
class
flask_wtf.html5.
RangeInput
(step=None)¶ Renders an input with type “range”.
-
class
flask_wtf.html5.
IntegerRangeField
(label=None, validators=None, **kwargs)¶ Represents an
<input type="range">
.
-
class
flask_wtf.html5.
DecimalRangeField
(label=None, validators=None, places=<unset value>, rounding=None, **kwargs)¶ Represents an
<input type="range">
.
CSRF 保护¶
-
class
flask_wtf.csrf.
CsrfProtect
(app=None)¶ Deprecated since version 0.14: Renamed to
CSRFProtect
.
-
flask_wtf.csrf.
generate_csrf
(secret_key=None, token_key=None)¶ Generate a CSRF token. The token is cached for a request, so multiple calls to this function will generate the same token.
During testing, it might be useful to access the signed token in
g.csrf_token
and the raw token insession['csrf_token']
.- Parameters
secret_key – Used to securely sign the token. Default is
WTF_CSRF_SECRET_KEY
orSECRET_KEY
.token_key – Key where token is stored in session for comparision. Default is
WTF_CSRF_FIELD_NAME
or'csrf_token'
.
-
flask_wtf.csrf.
validate_csrf
(data, secret_key=None, time_limit=None, token_key=None)¶ Check if the given data is a valid CSRF token. This compares the given signed token to the one stored in the session.
- Parameters
data – The signed CSRF token to be checked.
secret_key – Used to securely sign the token. Default is
WTF_CSRF_SECRET_KEY
orSECRET_KEY
.time_limit – Number of seconds that the token is valid. Default is
WTF_CSRF_TIME_LIMIT
or 3600 seconds (60 minutes).token_key – Key where token is stored in session for comparision. Default is
WTF_CSRF_FIELD_NAME
or'csrf_token'
.
- Raises
ValidationError – Contains the reason that validation failed.
Changed in version 0.14: Raises
ValidationError
with a specific error message rather than returningTrue
orFalse
.