首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用Flask-WTF实现不需要的DateField

如何使用Flask-WTF实现不需要的DateField
EN

Stack Overflow用户
提问于 2015-01-04 14:18:27
回答 2查看 18K关注 0票数 28

我想要一个可选的DateField,但如果将其保留为空,则会出现"Not a valid date value“错误

我在wtforms的源代码中添加了一些日志,发现formdata.getlist(self.name)为此DateField返回u

我的表单代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from wtforms import BooleanField, TextField, TextAreaField, PasswordField, validators, HiddenField, DateField, SelectField
from flask_wtf import Form

class EmployeeForm(Form):
    id = HiddenField('id')
    title = TextField('Title')
    start = DateField('Start Date', format='%m/%d/%Y')
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-21 16:31:03

这是一个非常古老的话题,但是有些人可能仍然会遇到同样的问题,所以我会给出我可能的答案。添加validators.Optional()在这里没有帮助,因为该字段在处理阶段之前被标记为error。

你可以像这样修补处理器的行为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class NullableDateField(DateField):
    """Native WTForms DateField throws error for empty dates.
    Let's fix this so that we could have DateField nullable."""
    def process_formdata(self, valuelist):
        if valuelist:
            date_str = ' '.join(valuelist).strip()
            if date_str == '':
                self.data = None
                return
            try:
                self.data = datetime.datetime.strptime(date_str, self.format).date()
            except ValueError:
                self.data = None
                raise ValueError(self.gettext('Not a valid date value'))
票数 3
EN

Stack Overflow用户

发布于 2015-01-04 15:47:56

您正在寻找Optional验证器。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
start = DateField('Start Date', format='%m/%d/%Y', validators=(validators.Optional(),))
票数 47
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27766417

复制
相关文章
Flask Web 极简教程(四)- Flask WTF Froms(Part A)
WTF 表单是一个第三方的库,可以通过Python代码生成表单,而Flask-WTF则是Flask集成了WTF表单功能的实现。
RiemannHypothesis
2022/09/26
3.1K0
Flask Web 极简教程(四)- Flask WTF Froms(Part A)
Python Flask-web表单
Flask-WTF扩展可以把处理web表单的过程变成一种愉悦的体验。 一、跨站请求伪造保护 默认情况下,Flask-WTF能够保护所有表单免受跨站请求伪造的攻击。恶意网站把请求发送到被攻击者已登录的网
用户1173509
2018/01/17
3.2K0
Python Flask-web表单
Flask Web 极简教程(四)- Flask WTF Froms
WTF 表单是一个第三方的库,可以通过Python代码生成表单,而Flask-WTF则是Flask集成了WTF表单功能的实现。
科技新语
2022/07/01
3.9K0
Flask Web 极简教程(四)- Flask WTF Froms
flask 表单 flask-wtf
from flask import Flask from flask import render_template from flask_bootstrap import Bootstrap from flask_wtf import Form from wtforms import StringField,SubmitField from wtforms.validators import Required
用户5760343
2019/07/07
6490
Flask web表单 Flask-WTF表单扩展
它是HTML页面中负责数据采集的部件。表单有三个部分组成:表单标签、表单域、表单按钮。表单允许用户输入数据,负责HTML页面数据采集,通过表单将用户输入的数据提交给服务器。
Devops海洋的渔夫
2019/12/19
2.3K0
19. Flask web表单 Flask-WTF表单扩展
它是HTML页面中负责数据采集的部件。表单有三个部分组成:表单标签、表单域、表单按钮。表单允许用户输入数据,负责HTML页面数据采集,通过表单将用户输入的数据提交给服务器。
Devops海洋的渔夫
2022/01/14
2K0
19. Flask web表单 Flask-WTF表单扩展
Flask表单之WTForms和flask-wtf
Flask-WTF是简化了WTForms操作的一个第三方库。WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板。还有其它一些功能:CSRF保护,文件上传等。
菲宇
2020/08/11
4.1K0
不需要SFU实现WebRTC联播实践
https://webrtchacks.com/a-playground-for-simulcast-without-an-sfu/
LiveVideoStack
2021/09/01
7880
MPAndroidChart_并列柱状图,及如何实现点击隐藏掉不需要的条目。
MPAndroidChart攻略——BarChart并列柱状图的点点滴滴。 MPAndroidChart_折线图的那些事 MPAndroidChart_饼图的那些事 MPAndroidChart_动态柱状图 MPAndroidChart_水平条形图的那些事 MPAndroidChart_并列柱状图,及如何实现点击隐藏掉不需要的条目。 MPAndroidChart_雷达图的那些事及自定义标签颜色 昨天在比赛中遇到了MP的并列柱状图,看网上对这方面记录并不是很多,所以今天就做一个教程吧。 先看简
Petterp
2022/02/09
1.6K0
MPAndroidChart_并列柱状图,及如何实现点击隐藏掉不需要的条目。
【Web开发】Flask框架基础知识
Flask诞生于2010年,是用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架。
zstar
2022/09/19
2.1K0
【Web开发】Flask框架基础知识
开心!发现一款功能强大的 Python 组件 FlaskForm
WTForms 是一个 Flask 集成的框架,也可以说是库。用于处理浏览器表单提交的数据。
Wu_Candy
2022/07/05
1.5K0
开心!发现一款功能强大的 Python 组件 FlaskForm
ESLint 是如何使用和实现的?
前言 今天这篇文章,主要聊聊什么是ESLint,为什么要用它?它的实现原理是什么?工作中如何使用的ESLint,以及如何自定义ESLint规则。 本文整理自以下文章: 掘金:eslint工作原理探讨
acc8226
2022/05/17
1.5K0
ESLint 是如何使用和实现的?
用装饰器封装Flask-WTF表单验证逻辑
对于有很多提交接口的项目来说,需要在每个路由下写相同的的逻辑,造成了大量的代码重复。在Flask-Login中,要把一个路由设置为登录后才能访问,只需要在路由上加一个@login_required装饰器,不需要额外的代码。能不能像Flask-Login一样,用装饰器来封装对表单的验证逻辑呢?
simpleapples
2018/10/16
9670
【一周掌握Flask框架学习笔记】Template模板Html页面编写
在前面的示例中,视图函数的主要作用是生成请求的响应,这是最简单的请求。实际上,视图函数有两个作用:处理业务逻辑和返回响应内容。在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本。本节学到的模板,它的作用即是承担视图函数的另一个作用,即返回响应内容。
天道Vax的时间宝藏
2021/08/11
2.6K0
Flask模板
在模板中{{ variable }}结构表示变量,是一种特殊的占位符,告诉模板引擎这个位置的值,从渲染模板时使用的数据中获取;Jinja2除了能识别基本类型的变量,还能识别{};
py3study
2020/01/16
2.6K0
PHP实现登录系统(不需要数据库)
最近也是突发奇想,如果没有数据库那么能不能实现登录系统呢,测试了之后发现真的可以啊 把数据放在 users.txt 里面,登录直接请求本地的磁盘内容,这样能减少并发导致的高消耗问题
xlj
2021/07/15
1.2K0
PHP实现登录系统(不需要数据库)
PHP实现登录系统(不需要数据库)
最近也是突发奇想,如果没有数据库那么能不能实现登录系统呢,测试了之后发现真的可以啊 把数据放在 users.txt 里面,登录直接请求本地的磁盘内容,这样能减少并发导致的高消耗问题
xlj
2021/07/13
1K0
PHP实现登录系统(不需要数据库)
您可能不需要使用Vue 3的Vuex
Vuex是一个很棒的状态管理库。它很简单,并且可以与Vue很好地集成。为什么有人会离开Vuex?原因可能是即将发布的Vue 3版本暴露了底层的反应系统,并引入了构建应用程序的新方法。新的反应系统非常强大,可以用于集中式状态管理。
公众号---人生代码
2020/08/11
1.4K0
您可能不需要使用Vue 3的Vuex
python flask web开发实战 表单 form flask-wtf
app = Flask(name) app.config['SECRET_KEY'] = 'hard to guess string' 1、
用户5760343
2019/07/05
6980
点击加载更多

相似问题

flask-wtf DateField即使在选择日期后也无法验证

215

如何使用Flask-WTF表单实现日期选择器

150

用DateField创建对象时使用DateField的Django

11

如何使用Ajax提交Flask-WTF表单

22

如何使用django使用datefield检索数据?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文