我想写一个视图,询问一些输入,然后将其返回为大写。我按照Send Data from a textbox into Flask?中的说明进行操作。
该应用程序通过cPanel在case 0 => eitherArray(x).aMethod()
case 1 => eitherArray(x).bMethod()
使用Phusion Passenger进行托管。当我点击提交时,我被发送到example.com/form
。在重定向之前,example.com
上的文本没有任何反应。
我做错了什么?我为什么被重定向?
example.com/form
templates/form.html
<form action="." method="POST">
<textarea name="text"></textarea>
<input type="submit">
</form>
form.py
答案 0 :(得分:2)
您所遵循的答案对于未在根管理的应用程序存在问题。 (他们现在已经编辑过了。)
您的应用已在/form
托管。表单action
应该是绝对路径,而不是相对路径。始终使用url_for
生成网址,您将避免此问题。
<form action="{{ url_for('form_post') }}" method=post>
由于您的两个视图共享相同的网址,因此可以省略action
。在这种情况下,常见的模式是使用一个视图来处理GET和POST。
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
return request.form['text'].upper()
return render_template('index.html')