python-3.x - Flask WTForm 验证提交但不更新数据库
问题描述
我试图将数据插入数据库,但它验证但不提交。我已经为其他形式编写了类似的代码,但是这个不起作用
形式:
类 ScheduleInterviewForm(FlaskForm): 招募 = StringField('招募 ID', 验证器=[DataRequired()]) interviewdate = StringField('面试日期', validators=[DataRequired()]) starttime = StringField('面试时间', validators=[DataRequired()]) submit = SubmitField('安排面试')
模态:
类 ScheduledInterview(db.Model, UserMixin): __tablename__ = "预定面试" interviewid = db.Column(db.Integer, primary_key=True) 面试日期 = db.Column(db.String(50), nullable=False) 招聘ID = db.Column(db.String(50),可为空=假) 开始时间 = db.Column(db.String(50), nullable=False) status = db.Column(db.String(50), nullable=False, default='N/A') reject_reason = db.Column(db.String(100),nullable=False,default='N/A')
看法:
@app.route("/ScheduleInterview", methods=['GET', 'POST']) @要求登录 def ScheduleInterviewPage(): 表格 = ScheduleInterviewForm() 如果 form.validate_on_submit(): inter = ScheduledInterview(interviewdate=form.interviewdate.data, 招聘ID=form.recruit.data, starttime=form.starttime.data) db.session.add(inter) db.session.commit() flash('计划已提交', '成功') 返回重定向(url_for('home')) rlist = DriverRecruit.query.filter_by(recruit_approve='yes',recruit_interview='pending') return render_template('ScheduleInterview.html', title='Interview', rlist=rlist, form=form)
HTML页面:
{{ form.hidden_tag() }} {{ form.recruit.label(class="form-control-label") }} {{ form.recruit(class="form-control form-control-lg",value= m.recruitid,disabled=True) }} {{ form.interviewdate.label(class="form-control-label") }} {{ form.interviewdate(class="form-control form-control-lg") }} {{ form.starttime.label(class="form-control-label") }} {{ form.starttime(class="form-control form-control-lg") }} {{ form.submit(class="btn btn-success") }} 取消
解决方案
推荐阅读
- android - 如何在我的调试器中展开数组的所有子元素?
- angular - 角度 cli 更新到 12 后调试器不工作
- c - 如何从 __m256i AVX2 寄存器中提取一个字节到另一个 __m256i 寄存器中?
- python - 烧瓶中不显示错误处理页面
- kotlin - 如何添加/删除/编辑 kotlinx.serialization.json.JsonObject 的值
- keras - Keras Lambda 层中 output_shape 参数的优势是什么
- ruby - 在 Ruby 中仅在当前月份之间获取前一周
- flutter - 如何在 Flutter Web 中更改 chrome 标题颜色?
- r - 如何识别坐标(点)到线的方向
- javascript - 如何通过 Promise.resolve 在 JavaScript 中返回一个可以被其他代码正常使用的类的新实例