本文整理汇总了Python中wtforms_alchemy.model_form_factory函数的典型用法代码示例。如果您正苦于以下问题:Python model_form_factory函数的具体用法?Python model_form_factory怎么用?Python model_form_factory使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了model_form_factory函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_throws_exception_for_unknown_configuration_option
def test_throws_exception_for_unknown_configuration_option(self):
self.init()
class SomeForm(Form):
pass
defaults = {"unknown": "something"}
with raises(UnknownConfigurationOption):
model_form_factory(SomeForm, **defaults)
开发者ID:krak3n,项目名称:wtforms-alchemy,代码行数:9,代码来源:test_model_form_factory.py
示例2: get_form_class
def get_form_class(self):
"""
Returns the form class to use in this view.
"""
if self.form_class:
return self.form_class
else:
if self.model is not None:
# If a model has been explicitly provided, use it
model = self.model
elif hasattr(self, 'object') and self.object is not None:
# If this view is operating on a single object, use
# the class of that object
model = self.object.__class__
else:
# Try to get a query and extract the model class
# from that
model = get_model_from_obj(self.get_query())
# Create a new class to use as the base. We do this to ensure
# Meta.model is available when the form is generated by the factory.
model_ = model
class ModelFormWithModel(ModelForm):
class Meta:
model = model_
only = self.fields
model_form = model_form_factory(ModelFormWithModel)
model_form.Meta.model = model
return model_form
开发者ID:Wilo,项目名称:pyramid-views,代码行数:29,代码来源:edit.py
示例3: test_inherit_with_new_session
def test_inherit_with_new_session(self):
cls = model_form_factory(self.Base)
class Sub(cls):
@classmethod
def get_session(self):
return 'SubTestSession'
assert Sub.get_session() == 'SubTestSession'
开发者ID:ColtonProvias,项目名称:wtforms-alchemy,代码行数:8,代码来源:test_inheritance.py
示例4: test_raises_exception_if_no_session_set_for_unique_validators
def test_raises_exception_if_no_session_set_for_unique_validators(self):
class ModelTest(self.base):
__tablename__ = 'model_test'
id = sa.Column(sa.Integer, primary_key=True)
test_column = sa.Column(sa.Unicode(255), unique=True)
Form = model_form_factory()
assert not Form.get_session
with raises(Exception):
class ModelTestForm(Form):
class Meta:
model = ModelTest
开发者ID:thrasibule,项目名称:wtforms-alchemy,代码行数:13,代码来源:test_validators.py
示例5: test_supports_parameter_overriding
def test_supports_parameter_overriding(self):
self.init()
class MyFormGenerator(FormGenerator):
pass
defaults = {
"all_fields_optional": True,
"only_indexed_fields": True,
"include_primary_keys": True,
"include_foreign_keys": True,
"strip_string_fields": True,
"include_datetimes_with_default": True,
"form_generator": True,
"date_format": "%d-%m-%Y",
"datetime_format": "%Y-%m-%dT%H:%M:%S",
}
ModelForm = model_form_factory(Form, **defaults)
for key, value in defaults.items():
assert getattr(ModelForm.Meta, key) == value
开发者ID:krak3n,项目名称:wtforms-alchemy,代码行数:20,代码来源:test_model_form_factory.py
示例6: test_optional_validator
def test_optional_validator(self):
form = model_form_factory(optional_validator=None)
assert form.Meta.optional_validator is None
开发者ID:ColtonProvias,项目名称:wtforms-alchemy,代码行数:3,代码来源:test_model_form_factory.py
示例7: test_time_range_validator
def test_time_range_validator(self):
form = model_form_factory(time_range_validator=None)
assert form.Meta.time_range_validator is None
开发者ID:ColtonProvias,项目名称:wtforms-alchemy,代码行数:3,代码来源:test_model_form_factory.py
示例8: test_number_range_validator
def test_number_range_validator(self):
form = model_form_factory(number_range_validator=None)
assert form.Meta.number_range_validator is None
开发者ID:ColtonProvias,项目名称:wtforms-alchemy,代码行数:3,代码来源:test_model_form_factory.py
示例9: model_form_factory
__version__ = '0.1.0'
from flask.ext.wtf import Form
import wtforms
from wtforms_alchemy import model_form_factory
from ..database import db
BaseModelForm = model_form_factory(Form)
class ModelForm(BaseModelForm):
"""
wtforms-alchemy Flask-WTF compatible base model form.
Copied from:
http://wtforms-alchemy.readthedocs.org/en/latest/advanced.html#using-wtforms-alchemy-with-flask-wtf
"""
@classmethod
def get_session(self):
return db.session
BaseModelWtfForm = model_form_factory(wtforms.Form)
class ModelWtfForm(BaseModelWtfForm):
"""
Same as ModelForm (also defined in this file), but inherited
from regular wtforms base class, instead of Flask-WTF base
开发者ID:yoophi,项目名称:flask-sample-app,代码行数:31,代码来源:flask_wtf_alchemy_utils.py
示例10: test_custom_base_without_session
def test_custom_base_without_session(self):
cls = model_form_factory(Form)
assert cls.get_session is None
开发者ID:ColtonProvias,项目名称:wtforms-alchemy,代码行数:3,代码来源:test_inheritance.py
示例11: isinstance
此函数把这些无法被处理的值转换成每种字段对应的字符串形式"""
if value is None:
return ''
if isinstance(value, datetime.datetime):
return value.isoformat().split(".").pop(0)
if isinstance(value, int) or isinstance(value, float):
# 若不把数字类型转换为 str ,InputValidator() 会把 0 值视为未赋值,导致验证失败
return str(value)
return value
# ======================================
# 自定义 WTForms-alchemy ModelForm
# ======================================
ModelForm = model_form_factory(APIForm, strip_string_fields=True)
class _APIEditForm(APIForm):
def __init__(self, *args, **kwargs):
if not hasattr(self, '_obj'):
raise ValueError(u"""当前表单是编辑实体用的表单,应传入对应的实体对象以避免 unique 检查失败。
请通过命名参数的形式传递,即: TheForm(obj=instance) ,不要直接传递。
如果确实不需要传入 obj 参数,请这样: TheForm(obj=None)""")
super(_APIEditForm, self).__init__(*args, **kwargs)
ModelEditForm = model_form_factory(_APIEditForm,
strip_string_fields=True,
all_fields_optional=True)
开发者ID:anjianshi,项目名称:flask-json-api,代码行数:30,代码来源:form.py
示例12: DeleteForm
import flask_wtf
import wtforms_alchemy
from flask_skeleton.models import db, User
class DeleteForm(flask_wtf.Form):
"""Dummy form to allow CSRF on requests without other fields, e.g. delete."""
pass
# plumbing to get flask integration between wtforms_alchemy and flask_wtf
# pylint: disable=invalid-name
BaseModelForm = wtforms_alchemy.model_form_factory(flask_wtf.Form)
class ModelForm(BaseModelForm):
@classmethod
def get_session(self):
return db.session
class UserForm(ModelForm):
class Meta:
model = User
only = ['email', 'password']
开发者ID:tobywf,项目名称:flask-skeleton,代码行数:24,代码来源:forms.py
示例13: model_form_custom
def model_form_custom(request):
"""Returns one of each possible model form classes with custom
metaclasses."""
return model_form_factory(meta=request.param)
开发者ID:ColtonProvias,项目名称:wtforms-alchemy,代码行数:4,代码来源:conftest.py
示例14: model_form_all
def model_form_all(request):
"""Returns one of each possible model form classes with custom and the
original metaclass."""
ModelForm = model_form_factory(meta=request.param)
return ModelForm
开发者ID:ColtonProvias,项目名称:wtforms-alchemy,代码行数:5,代码来源:conftest.py
示例15: model_form_factory
#
# Lifewatch DAAP is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Lifewatch DAAP is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Lifewatch DAAP. If not, see <http://www.gnu.org/licenses/>.
from __future__ import absolute_import, print_function, unicode_literals
from invenio.utils.forms import InvenioBaseForm
from wtforms_alchemy import model_form_factory
from .models import UserProfile
ModelForm = model_form_factory(InvenioBaseForm)
class ProfileForm(ModelForm):
class Meta:
model = UserProfile
only = ['name', 'institution', 'email', 'social_profiles',
'ssh_public_key', 'user_db', 'pass_db',
'token_onedata']
开发者ID:rsalas82,项目名称:lw-daap,代码行数:30,代码来源:forms.py
示例16: FormSetupError
# coding=utf-8
# Created 2014 by Janusz Skonieczny
import logging
from flask_wtf import Form
from flask_wtf.form import _Auto
from wtforms_alchemy import model_form_factory
class FormSetupError(Exception):
pass
BaseModelForm = model_form_factory(base=Form)
class ModelForm(BaseModelForm):
# model = None
def __init__(self, formdata=_Auto, obj=None, *args, **kwargs):
self.obj = obj
# if not self.Meta.model:
# self.Meta.model = kwargs.pop("model", None)
# self.parent = kwargs.pop("parent", None)
super(ModelForm, self).__init__(formdata=formdata, obj=obj, *args, **kwargs)
def save(self):
dbs = self.get_session()
if not self.obj:
if not self.Meta.model:
FormSetupError("Model was not configured, please setup property or provide model during init")
开发者ID:wooyek,项目名称:glosuj-w-lomiankach,代码行数:31,代码来源:models.py
示例17: import
QuerySelectMultipleField)
from wtforms_components import read_only
from wtforms_components import DateIntervalField
from wtforms_components.widgets import ReadOnlyWidgetProxy
from wtforms.validators import Required
from flask_ppt2 import app, db
import flask_ppt2.alchemy_models as alch
from config.settings_dev import (FISCAL_YEAR_FORMAT, YEAR_RANGE_MIN,
YEAR_RANGE_MAX, FISCAL_QUARTERS)
YEAR_RANGE_MIN = 2004
if os.environ["PPT_ENVIRONMENT"] == "dev":
import pydevd
BaseModelForm = model_form_factory(FlaskForm)
FISCAL_YEAR_OFFSET = app.config.get("FISCAL_YEAR_OFFSET")
FISCAL_QUARTERS = app.config.get("FISCAL_QUARTERS")
YEAR_RANGE_MIN = app.config.get("YEAR_RANGE_MIN")
YEAR_RANGE_MAX = app.config.get("YEAR_RANGE_MAX")
class ModelForm(BaseModelForm):
@classmethod
def get_session(cls):
return db.session
class FormlyAttributes:
"""Mixin class for forms to generate a list of form field descriptions.
开发者ID:HarryPayne,项目名称:flask-ppt2,代码行数:30,代码来源:forms.py
示例18: model_form_factory
# coding=utf-8
from abilian.web.forms import Form
from abilian.web.forms import widgets as abilian_widgets
from abilian.web.forms.fields import QuerySelect2Field
from abilian.web.forms.filters import strip
from abilian.web.forms.validators import optional, required
from flask_babel import lazy_gettext as _l
from wtforms import StringField, TextAreaField
from wtforms_alchemy import model_form_factory
from abilian.sbe.apps.communities.models import Community
ModelForm = model_form_factory(Form) # type: Form
class UserProfileForm(ModelForm):
pass
class UserProfileViewForm(UserProfileForm):
communautes = QuerySelect2Field(
"Communautés d'appartenance",
get_label="name",
view_widget=abilian_widgets.ListWidget(),
query_factory=lambda: Community.query.all(),
multiple=True,
validators=[optional()],
)
开发者ID:abilian,项目名称:abilian-sbe,代码行数:29,代码来源:forms.py
示例19: test_unique_validator
def test_unique_validator(self):
form = model_form_factory(unique_validator=None)
assert form.Meta.unique_validator is None
开发者ID:ColtonProvias,项目名称:wtforms-alchemy,代码行数:3,代码来源:test_model_form_factory.py
示例20: test_custom_base_with_session
def test_custom_base_with_session(self):
cls = model_form_factory(self.Base)
assert cls.get_session() == 'TestSession'
开发者ID:ColtonProvias,项目名称:wtforms-alchemy,代码行数:3,代码来源:test_inheritance.py
注:本文中的wtforms_alchemy.model_form_factory函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论