这是我创建的类,flask mega教程的RegistrationForm模型
class eyeReaderInput(FlaskForm):
article = StringField('Article')
submit = SubmitField('Enter')
我在这个视图中实现了这个类: 你知道吗
@app.route('/eyereader', methods=['GET', 'POST'])
def eyereader():
form = eyeReaderInput()
sTuple = ()
if form.validate_on_submit():
string = wikipedia.page(form.article.data)
for chunk in textwrap.wrap(string, 15):
sTuple += (chunk,)
return render_template('eyereader.html', string = sTuple, form = form)
else:
return render_template('eyereader.html', form = form)
这是我的模板eyereader.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% if string %}
<p><span>
{% for s in string %}
[{{s}}]<pre class="tab"></pre>
{% endfor %}
</span></p>
{% else %}
<p>Please input an article name</p>
<form action = "" method = "post">
<p>{{ form.article.label}}<br>
{{ form.article() }}</p>
<p>{{ form.submit() }}</p>
</form>
{% endif %}
</body>
</html>
我希望用户首先使用“GET”请求访问eyereader站点(当我查看控制台时会发生这种情况),一旦用户插入他希望阅读的wikipedia文章,它就会发送一个带有新字符串参数的“POST”请求,该参数将使{% is string %}
为真,而不是显示wikipedia文本
但是,当我测试这个时,“GET”和“POST”请求最终都会转到输入页。有人知道我能做些什么来让它工作吗?谢谢
选项1:使用两个模板来处理条件内容,将每个模板绑定到不同的表单操作(GET/POST)
选项2:根据需要使用JavaScript动态填充内容
相关问题 更多 >
编程相关推荐