Найти - Пользователи
Полная версия: [РЕШЕНО] flask wtforms datefield требует валидацию по-умолчанию?
Начало » Web » [РЕШЕНО] flask wtforms datefield требует валидацию по-умолчанию?
1
Astronaut
Здравствуйте.
Суть вопроса такова:
Имеется forms.py
class MyForm(Form):
	name = StringField(u'Автор')
	post = StringField(u'Пост')
	date = DateField(u'Дата написания')

views.py
@app.route('/submit', methods=('POST', 'GET'))
def submit():
	form = MyForm()
	if validate_on_submit():
		return redirect('/')
	return render_template('submit.html', form=form)

models.py
class User(Base):
	__tablename__ = 'users'
	id = Column(Integer, primary_key=True)
	name = Column(Unicode(50))
	post = relationship("Post", backref='users')
	def __init__(self, name):
		self.name = name
class Post(Base):
	__tablename__ = 'posts'
	id = Column(Integer, primary_key=True)
	title = Column(Unicode)
	date = Column(Date)
	user_id = Column(Integer, ForeignKey('users.id'))
	def __init__(self, title):
		self.title = title

Собственно, если я не заполняю поля на странице (оставляю всё пустым), то выполняется:
return render_template('submit.html', form=form)
Если поле date закомментировать, и оставить только StringField в forms.py (и в шаблоне submit.hmtl), то при отправке пустых полей происходит:
return redirect('/')
В документации на DateField сказано следующее:
class wtforms.fields.DateField(default field arguments, format='%Y-%m-%d')
где default field arguments:
__init__(label=None, validators=None, filters=(), description=u'', id=None, default=None, widget=None, _form=None, _name=None, _prefix=u'', _translations=None, _meta=None)
Следовательно validators отсутсвуют, но по факту они есть, или я чего-то не понимаю ?
Собственно мне необходимо некоторые поля проверять, а вот дата не обязательная для заполнения. Как обойти это ?
sander
попробуйте явно указать валидатор Optional
Astronaut
sander
попробуйте явно указать валидатор Optional
Супер!!! Спасибо!!! Работает.
PS: Зря весь ман не “выкурил”
4kpt_III
Если хотите реабилитироваться полностью, то почитайте про WTForms-alchemy
Astronaut
4kpt_III
Если хотите реабилитироваться полностью, то почитайте про WTForms-alchemy
Ок, спасибо за наводку
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB