开发者接口¶
该部分文档涵盖了 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
Trueifself.datais aFileStorageobject.Deprecated since version 0.14.1:
datais no longer set if the input is not a non-emptyFileStorage. Checkform.data is not Noneinstead.
-
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
UploadSetmessage – error message
You can also use the synonym
file_allowed.
-
class
flask_wtf.file.FileRequired(message=None)¶ Validates that the data is a Werkzeug
FileStorageobject.- 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_tokenand the raw token insession['csrf_token'].- Parameters
secret_key – Used to securely sign the token. Default is
WTF_CSRF_SECRET_KEYorSECRET_KEY.token_key – Key where token is stored in session for comparision. Default is
WTF_CSRF_FIELD_NAMEor'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_KEYorSECRET_KEY.time_limit – Number of seconds that the token is valid. Default is
WTF_CSRF_TIME_LIMITor 3600 seconds (60 minutes).token_key – Key where token is stored in session for comparision. Default is
WTF_CSRF_FIELD_NAMEor'csrf_token'.
- Raises
ValidationError – Contains the reason that validation failed.
Changed in version 0.14: Raises
ValidationErrorwith a specific error message rather than returningTrueorFalse.