python - 使用 Flask 使用动态创建的 html 填充 iframe
问题描述
我有一个烧瓶应用程序,作为一个漫长过程的一部分,它会动态创建一些 QA 过程的 html 和一个要下载的 zip 文件。我想在页面主要内容下方的 iframe 中显示 html。
这是我处理 POST 请求的函数:
@app.route('/', methods=['POST'])
def my_form_post():
if not session.get("user"):
return redirect(url_for("login"))
usrname = session.get('user')['name'].replace(' ', '')
text = request.form['ids']
if request.form.get('live_or_test'):
test_db = False
else:
test_db = True
if request.form.get('run_qa'):
qa_tool = True
else:
qa_tool = False
indicator_id = text.lower()
filepath, filename, html_filepath = call_generate_inds(indicator_id, usrname, runlive=test_db, run_qatool=qa_tool)
if qa_tool:
return render_template('index.html', iframe=html_filepath)
return send_file(filepath, filename, as_attachment=True)
我感兴趣的qa_tool
是什么时候True
。这会将 传递html_filepath
给页面的范围。
在页面上,我有以下 iframe:
<iframe src="{{ url_for('get_qa', filename=iframe)}}" width="1000" height="1000" frameborder="0"></iframe>
然后调用另一个函数来提供 html 文件:
@app.route('/<filename>')
def get_qa(filename):
return send_file(filename)
我已经尝试过send_file
,render_template
并且在这两种情况下都返回 404。我仔细检查了文件路径是否正确,并且该文件路径上的 html 可以作为独立页面正常工作。
我需要做什么才能让 html 在 iframe 中显示?
解决方案
推荐阅读
- r - 用于在混合 logit 模型中将主题设置为随机效应的最直接的 R 包
- python - 休眠python脚本执行直到进程完成
- c# - 将 Azure CloudPageBlob 复制到 CloudBlockBlob
- javascript - UI5 JavaScript 代码不工作,语义
- blogs - 如何在 hugo 中为每种内容类型添加菜单
- java - Docker-compose、Java 和 Redis - 连接被拒绝问题
- javascript - AngularJS ng-repeat 问题和具有匹配答案对象的初始化输入
- reactjs - redux 状态正在改变,但组件没有重新渲染
- ios - CoreGraphics PDF 记录了一个错误。设置环境变量“CG_PDF_VERBOSE”以了解更多信息
- angular - Angular 问题中的全局消息服务