我是Flask和Web开发的新手,我正在尝试创建一个简单的应用程序,在服务器上生成一个整数数组并发送给客户端。以下是app.py中的一些示例(工作)代码:
from flask import Flask, render_template, request, url_for
import random
app = Flask(__name__)
@app.route('/')
def form():
s_abc = [random.random() for _ in range(40)]
return render_template('abc.html', s_abc=s_abc)
if __name__ == '__main__':
app.run(debug=True)
这是abc.html的一个(工作)片段:
<div>
{{s_abc}}
</div>
我的问题是:
即使没有GET / POST HTTP方法,这是如何工作的?我认为服务器和客户端之间的通信需要获取/发布http方法(如下所述:http://www.tutorialspoint.com/http/http_methods.htm)。但是,即使我没有写这样的东西,我的代码也能正常工作:
@app.route('/', methods=['GET'])
有没有办法重写这个以便它使用POST?显然,POST更适合处理敏感数据,如下所述:http://blog.teamtreehouse.com/the-definitive-guide-to-get-vs-post
感谢。
答案 0 :(得分:7)
flask的默认值为public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
tvX.setText("" + (mSeekBarX.getProgress() + 1));
tvY.setText("" + (mSeekBarY.getProgress()));
ArrayList<BarEntry> yVals3 = new ArrayList<BarEntry>();
TimeListDatabaseHelper db = new TimeListDatabaseHelper(this);
for (int i = 0; i < mSeekBarX.getProgress() + 1; i++) {
Cursor c = db.getTimeRecordList();
if (c != null && c.getCount() > 0) {
c.moveToFirst();
for (int count = 0; count < c.getCount(); count++) {
yVals3.add(new BarEntry(c.getInt(0), count));
c.moveToNext();
}
c.close();
for (Object obj1: yVals3) {
Log.i("mSeekBarX1", obj1.toString());
}
}
ArrayList<String> xVals = new ArrayList<String>();
for (int i = 0; i < mSeekBarX.getProgress() + 1; i++) {
xVals.add((int) yVals3.get(i).getVal() + "");
}
BarDataSet set1 = new BarDataSet(yVals3, "Data Set");
set1.setColors(ColorTemplate.VORDIPLOM_COLORS);
set1.setDrawValues(false);
ArrayList<BarDataSet> dataSets = new ArrayList<BarDataSet>();
dataSets.add(set1);
BarData data = new BarData(xVals, dataSets);
mChart.setData(data);
mChart.invalidate();
}
}
。您可以使用GET
更改:
methods
阅读文档:Flask 1.0.2 documentation
Web应用程序在访问URL时使用不同的HTTP方法。在使用Flask时,您应该熟悉HTTP方法。默认情况下,路由仅响应GET请求。您可以使用route()装饰器的methods参数来处理不同的HTTP方法。
答案 1 :(得分:3)
默认值为GET
。 POST
仅在abc.html
有表单且用户提交s_abc
的值时才适用。在你的情况下,你正在生成它并渲染html。
如果您是新手,请查看完整的教程。它将向您展示如何创建表单和接收数据:
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iii-web-forms