如何在烧瓶中读取文件模式窗口

时间:2019-01-14 12:44:54

标签: amazon-s3 flask

s3调用txt文件并将其显示到新窗口成功。 我想使用模式弹出窗口向您显示此txt文件的内容。我已经尝试过了,但是我没有给它展示“身体”。 非常感谢您的帮助。

<button type="button" class="btn btn-info btn-sm" data-toggle="modal" data-target="#myModal">
                <i class="fa fa-question-circle" aria-hidden="true"></i></button>
<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Modal Header</h4>
      </div>
      <div class="modal-body" action="{{ url_for('information') }}" method="POST" >
              {{ my_text }}
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>
  

@app.route('/information', methods=['POST'])
def information():
    key = request.form['key']
    my_bucket = get_bucket()
    file_obj = my_bucket.Object('parameter.txt')
    my_text = Response(file_obj.get()['Body'].read(), mimetype='text/plain',)
    return render_template('html_with_modal.html', my_text=my_text)

1 个答案:

答案 0 :(得分:0)

您需要执行以下操作。

首先,将您的回复保存在一个变量中,例如

my_text = Response(file_obj.get()['Body'].read(), mimetype='text/plain',)

然后,您需要呈现模板并将文本作为参数传递,例如

 return render_template('html_with_modal.html', my_text=my_text)

然后就像您想要在模板中放置my_text的任何地方一样,您可以放置​​

   <div class="modal-body" open="{{ url_for('information') }}" method="POST" >
   {{my_text}}
  </div>