从网上看到的解决方法大致是两种:
一是加{{ form.csrf_token }},method=post
二是在输入框中加入validators=[DataRequired()];
这两种方法我都试过了,还是不行,但是可以获取界面输入的内容,就是提交不了。希望可以解答~
代码如下:
前端主要代码:
```html
<form method="post" style="font-size:15px">
{{ form.csrf_token }}
{{form.data_source.label}} {{ form.data_source}}
{{form.data_type.label}} {{ form.data_type}}
{{form.username.label}} {{ form.username}}
{{form.start_date.label}} {{ form.start_date}}
{{form.end_date.label}} {{ form.end_date}}
{{form.fan_number.label}} {{ form.fan_number}}
{{form.content_number.label}} {{ form.content_number}}
{{form.page_number.label}} {{ form.page_number}}
{{ form.submit }}
</form>
后端代码:
class SearchForm(FlaskForm):
data_source = SelectField(u'数据来源', validators=[DataRequired()], choices=[("1", ""), ("2", u"微博"), ("3", u"抖音"), ("4", u"快手")], coerce=str)
data_type = SelectField(u'数据类型', validators=[DataRequired()],
choices=[("1", ""), ("2", u"体育"), ("3", u"财经"), ("4", u"娱乐"), ], coerce=str)
username = StringField(u"媒体用户", validators=[DataRequired()])
start_date = DateField(u'开始时间', format='%Y-%m', validators=[DataRequired()])
end_date = DateField(u'结束时间', format='%Y-%m', validators=[DataRequired()])
fan_number = SelectField(u'粉丝数', validators=[DataRequired()],
choices=[("1", ""), ("10", "top10"), ("20", "top20"), ("50", "top50"), ], coerce=str)
content_number = SelectField(u'发博数', validators=[DataRequired()],
choices=[("1", ""), ("10", "top10"), ("20", "top20"), ("50", "top50"), ],
coerce=str)
page_number = SelectField(u'页数', validators=[DataRequired()],
choices=[("0", ""), ("10", u"10条"), ("20", u"20条"), ("50", u"50条"), ], coerce=str)
submit = SubmitField(u'查询')