Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 验证失败后从空表单数据中检索空字符串_Python_Python 3.x_Variables_Wtforms - Fatal编程技术网

Python 验证失败后从空表单数据中检索空字符串

Python 验证失败后从空表单数据中检索空字符串,python,python-3.x,variables,wtforms,Python,Python 3.x,Variables,Wtforms,这更像是一个python问题,而不是wtforms问题,对于通常回答纯python问题的人来说,底部的摘要可能更有意义。 当一个页面验证而一个字段验证失败时,我通过使用if/else语句设法使脚本保留以前输入的值。它允许用户查看在触发验证错误之前键入的内容: if request.method == 'POST': if form.validate_on_submit(): try:

这更像是一个python问题,而不是wtforms问题,对于通常回答纯python问题的人来说,底部的摘要可能更有意义。 当一个页面验证而一个字段验证失败时,我通过使用if/else语句设法使脚本保留以前输入的值。它允许用户查看在触发验证错误之前键入的内容:

 if request.method == 'POST':
                if form.validate_on_submit():
                        try:
                                models.insert(form)
                        except:
                                return redirect(url_for('failure'))
                        else:
                                return redirect(url_for('success'))
                else:
                        number_of_discs = form.number_of_discs.data
                        number_of_parts = form.number_of_parts.data
                        disc_number = form.disc_number.data
                        tx_date = form.tx_date.data
                        start_time_1 = form.start_time_1.data
                        end_time_1 = form.end_time_1.data
                        start_time_2 = form.start_time_2.data
                        end_time_2 = (form.data.get('end_time_2', '')) 
但是,如果其中一个字段留空,并且验证错误由另一个填充不正确的字段触发,则空字段中的值现在显示为“无”。 在某种程度上,这是通过设计实现的,因为我希望使用空值而不是空字符串更新数据库。但是,在流程的这一部分,即表单验证期间,我希望字段显示为空

总而言之,我该如何更改行:

number_of_discs = form.number_of_discs.data

因此,数字\u of_discs包含格式为.number\u of_discs.data的数据,除非它为空,在这种情况下,它应该包含一个空字符串

如果是
数据
则为空:

number_of_discs = form.number_of_discs.data or ''
否则,类似于:

number_of_discs = form.number_of_discs.data if form else ''

不错,达希尔