本文整理匯總了Python中wtforms.Form方法的典型用法代碼示例。如果您正苦於以下問題:Python wtforms.Form方法的具體用法?Python wtforms.Form怎麽用?Python wtforms.Form使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類wtforms
的用法示例。
在下文中一共展示了wtforms.Form方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: __init__
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def __init__(self, *args, **kwargs):
''' Initializes a Marvin Form
Generates all the WTForms from the SQLAlchemy ModelClasses defined in the MaNGA DB.
_param_form_lookup = dictionary of all modelclass parameters
of form {'SQLalchemy ModelClass parameter name': WTForm Class}
'''
self._release = kwargs.get('release', config.release)
self.verbose = kwargs.get('verbose', False)
if marvindb:
self._modelclasses = FuzzyDict(marvindb.buildUberClassDict(release=self._release))
self._param_form_lookup = ParamFormLookupDict(**kwargs)
self._param_fxn_lookup = ParamFxnLookupDict()
self._paramtree = tree()
self._generateFormClasses(self._modelclasses)
self._generateFxns()
self.SearchForm = SearchForm
self._cleanParams(**kwargs)
示例2: _generateFormClasses
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def _generateFormClasses(self, classes):
''' Loops over all ModelClasses and generates a new WTForm class. New form classes are named as [ModelClassName]Form.
Sets the new form as an attribute on MarvinForm. Also populates the _param_to_form_lookup dictonary with
all ModelClass/WTForm parameters and their corresponding forms.
e.g. _param_form_lookup['name'] = marvin.tools.query.forms.IFUDesignForm
'''
for key, val in classes.items():
classname = '{0}Form'.format(key)
try:
newclass = formClassFactory(classname, val, ModelForm)
except Exception as e:
if self.verbose:
warnings.warn('class {0} not Formable'.format(key), MarvinUserWarning)
else:
self.__setattr__(classname, newclass)
self._loadParams(newclass)
示例3: List_table_rules
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def List_table_rules():
class TheForm(Form):
rule = TextField('id:', validators=[validators.required(), validators.Length(min=1, max=32)])
class Meta:
csrf = True
csrf_class = tokenform.Ice_CSRF
form = TheForm(
request.form,
meta={'csrf_context': request.remote_addr }
)
if user_controller.check_auth() == False:
return redirect("front/auth")
obj=rule_rest_api
obj=obj.rest_call("","")
obj.token=session['userkey']
obj.List_rules()
rules=[]
for rows in obj.json_output:
rules.append(rows)
return render_template('rule_forms/rule_list.html',form=form, rules=rules, title="Table of rules")
示例4: List_table_users
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def List_table_users():
if check_auth() == False:
return redirect("front/auth")
class TheForm(Form):
name = TextField('id:', validators=[validators.required(), validators.Length(min=1, max=9)])
class Meta:
csrf = True
csrf_class = tokenform.Ice_CSRF
form = TheForm(
request.form,
meta={'csrf_context': request.remote_addr }
)
obj=user_rest_api
obj=obj.rest_call("","")
obj.token=session['userkey']
obj.List_Users()
users=[]
for rows in obj.json_output:
users.append({"id": rows[0],"name": rows[1],"email": rows[2],"owner": rows[3],"date": rows[4]})
return render_template('user_forms/user_list.html',form=form, users=users, title="Table of Users")
示例5: dashboard
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def dashboard():
# Create cursor
cur = mysql.connection.cursor()
# Get articles
#result = cur.execute("SELECT * FROM articles")
# Show articles only from the user logged in
result = cur.execute("SELECT * FROM articles WHERE author = %s", [session['username']])
articles = cur.fetchall()
if result > 0:
return render_template('dashboard.html', articles=articles)
else:
msg = 'No Articles Found'
return render_template('dashboard.html', msg=msg)
# Close connection
cur.close()
# Article Form Class
示例6: model_form
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def model_form(model, base_class=Form, only=None, exclude=None, field_args=None, converter=None):
"""
Create a wtforms Form for a given Django model class::
from wtforms.ext.django.orm import model_form
from myproject.myapp.models import User
UserForm = model_form(User)
:param model:
A Django ORM model class
:param base_class:
Base form class to extend from. Must be a ``wtforms.Form`` subclass.
:param only:
An optional iterable with the property names that should be included in
the form. Only these properties will have fields.
:param exclude:
An optional iterable with the property names that should be excluded
from the form. All other properties will have fields.
:param field_args:
An optional dictionary of field names mapping to keyword arguments used
to construct each field object.
:param converter:
A converter to generate the fields based on the model properties. If
not set, ``ModelConverter`` is used.
"""
field_dict = model_fields(model, only, exclude, field_args, converter)
return type(model._meta.object_name + 'Form', (base_class, ), field_dict)
示例7: model_form
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def model_form(model, base_class=Form, only=None, exclude=None, field_args=None,
converter=None):
"""
Creates and returns a dynamic ``wtforms.Form`` class for a given
``ndb.Model`` class. The form class can be used as it is or serve as a base
for extended form classes, which can then mix non-model related fields,
subforms with other model forms, among other possibilities.
:param model:
The ``ndb.Model`` class to generate a form for.
:param base_class:
Base form class to extend from. Must be a ``wtforms.Form`` subclass.
:param only:
An optional iterable with the property names that should be included in
the form. Only these properties will have fields.
:param exclude:
An optional iterable with the property names that should be excluded
from the form. All other properties will have fields.
:param field_args:
An optional dictionary of field names mapping to keyword arguments
used to construct each field object.
:param converter:
A converter to generate the fields based on the model properties. If
not set, ``ModelConverter`` is used.
"""
# Extract the fields from the model.
field_dict = model_fields(model, only, exclude, field_args, converter)
# Return a dynamically created form class, extending from base_class and
# including the created fields as properties.
return type(model._get_kind() + 'Form', (base_class,), field_dict)
示例8: model_form
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def model_form(model, base_class=Form, only=None, exclude=None, field_args=None,
converter=None):
"""
Creates and returns a dynamic ``wtforms.Form`` class for a given
``db.Model`` class. The form class can be used as it is or serve as a base
for extended form classes, which can then mix non-model related fields,
subforms with other model forms, among other possibilities.
:param model:
The ``db.Model`` class to generate a form for.
:param base_class:
Base form class to extend from. Must be a ``wtforms.Form`` subclass.
:param only:
An optional iterable with the property names that should be included in
the form. Only these properties will have fields.
:param exclude:
An optional iterable with the property names that should be excluded
from the form. All other properties will have fields.
:param field_args:
An optional dictionary of field names mapping to keyword arguments
used to construct each field object.
:param converter:
A converter to generate the fields based on the model properties. If
not set, ``ModelConverter`` is used.
"""
# Extract the fields from the model.
field_dict = model_fields(model, only, exclude, field_args, converter)
# Return a dynamically created form class, extending from base_class and
# including the created fields as properties.
return type(model.kind() + 'Form', (base_class,), field_dict)
示例9: __init__
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def __init__(self, *args, **kwargs):
warnings.warn(FlaskWTFDeprecationWarning(
'"flask_wtf.Form" has been renamed to "FlaskForm" '
'and will be removed in 1.0.'
), stacklevel=3)
super(Form, self).__init__(*args, **kwargs)
示例10: field_parse
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def field_parse(cls, value, *args, **kwargs):
kwargs['_form'] = WTForm()
kwargs['_name'] = 'extra'
field = cls(*args, **kwargs)
field.process_formdata([value])
return field.data
示例11: formClassFactory
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def formClassFactory(name, model, baseclass):
''' Generates a new WTForm Class based on SQLalchemy Model Class.
Subclasses a base WTF Form class that also contains the SQLAlchemy
Model Class information inside it.
Each class contains as attributes:
Meta = a class called Meta. Meta.model contains the SQLalchemy ModelClass
data = a dictionary of parameters: form input that gets mapped to the sqlalchemy parameter
errors = a dictionary of errors returned by invalid form validation
validate = a method to validate all elements in this form
parameter_X = a WTForm Field mapped to respective sqlalchemy table column
e.g.
The ModelClass IFUDesign mapped to mangadatadb.ifu_design sql table gets transformed into
WTForm IFUDesignForm, with IFUDesignForm.Meta.model = marvin.db.models.DataModelClasses.IFUDesign
Parameters:
name (str):
The name of the Form Class
mdoel (class):
The SQLAlchemy Model Class
baseclass (class):
The base class to sub class from
Returns:
the new WTF form subclass
'''
Meta = type('Meta', (object,), {'model': model})
newclass = type(name, (baseclass,), {'Meta': Meta})
return newclass
# build a wtform select field for operators; tested but no longer used
# can't seem to attach operator field to every individual parameter
示例12: __repr__
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def __repr__(self):
nforms = len([f for f in self.__dict__.keys() if 'Form' in f])
return ('<MarvinForm (release={0._release}, n_parameters={1}, n_functions={2}, '
'n_forms={3})>'.format(self, len(self._param_form_lookup), len(self._param_fxn_lookup), nforms))
示例13: process_form
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def process_form(self, form: Form, is_created: bool) -> None:
if form.test_email_recipients.data:
test_email_recipients = form.test_email_recipients.data.strip()
else:
test_email_recipients = None
test_slack_channel = (
form.test_slack_channel.data.strip()
if form.test_slack_channel.data
else None
)
self._extra_data["test_email"] = form.test_email.data
self._extra_data["test_email_recipients"] = test_email_recipients
self._extra_data["test_slack_channel"] = test_slack_channel
示例14: validate_json
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def validate_json(form: Form, field: Field) -> None: # pylint: disable=unused-argument
try:
json.loads(field.data)
except Exception as ex:
logger.exception(ex)
raise Exception(_("json isn't valid"))
示例15: getsinks
# 需要導入模塊: import wtforms [as 別名]
# 或者: from wtforms import Form [as 別名]
def getsinks(request):
if user_controller.check_auth() == False:
return redirect("front/auth")
class TheForm(Form):
sink = TextField('sink:', validators=[validators.required(), validators.Length(min=1, max=1024)])
path = TextField('path:', validators=[validators.required(), validators.Length(min=1, max=2048)])
class Meta:
csrf = True
csrf_class = tokenform.Ice_CSRF
form = TheForm(
request.form,
meta={'csrf_context': request.remote_addr }
)
if request.method == 'POST':
token=request.form['csrf_token']
if form.validate():
if form.csrf_token.errors:
flash('Error: form token invalid try to post again')
else:
try:
d={}
d['lang']=request.form['lang']
d['sink']=request.form['sink']
d['path']=request.form['path']
obj=engine_rest_api
obj=obj.rest_call("","")
obj.token=session['userkey']
codes_lines=obj.getsinks(**d)
flash("Wait five seconds and look the code cache")
except Exception as e:
flash('Fail: '+ str(e))
else:
flash('Error: All the form fields are required. ')
return render_template('engine_forms/getsinks.html', form=form, title="Search sink")