消息没有重新加载页面闪烁?

时间:2014-06-17 17:45:46

标签: python flask

所以我有这个非常基本的代码,它会在点击提交按钮后获取一些输入文本并闪烁消息。我的问题是,单击按钮后输入的任何文本都会消失,因为后续过程会重新加载html模板。有没有办法避免这种情况?谢谢,下面是我的代码:

class View(flask.views.MethodView):
    def get(self):
        return flask.render_template('index.html')

    def post(self):
        flask.flash(flask.request.form['expression']) #reprint the text input
        flask.flash(Markup('<br /><h2> Score = '+str(5)+' %</h2>'))
        return self.get() 

1 个答案:

答案 0 :(得分:2)

动态更改DOM的唯一方法(我知道)是通过AJAX。

http://flask.pocoo.org/docs/patterns/jquery/

有一个很好的例子。

基本上,创建自己的api。

让您的索引显示

 @app.route('/')
 def index():
      return render_template('index.html')

调用视图api

@app.route('/test')
def post(object):
    getIt= request.args.listvalues()[0]
    More code...
    result=Markup('<br /><h2> Score = '+str(5)+' %</h2>')
    return jsonify(result)
HTML中的

,类似于(这不是真正的代码)

<script>
var $whateves= $("#whateves").whateves({
$.getJSON($SCRIPT_ROOT + '/test', {
 do something?
  }, function(data) {
    $("#result").text(data.result);
  });

显示新结果

 <span id=result>No message to flash</span>