返回多个模板

时间:2019-01-28 22:41:47

标签: javascript flask

我目前正在尝试根据POST请求打开多个页面。基本上,我正在做的是通过发送POST请求在数据库中搜索工作编号,然后(尝试)打开与该工作编号相对应的多个页面(例如:用于工作位置的网页,用于材料的网页,等等) 。)但是,我只能返回一个模板以供浏览器打开。我看过很多类似这样的问题:

Render multiple templates at once in Flask

但是,我没有找到问题的答案(很可能是因为我问错了问题...) 无论如何,到目前为止,我的代码是这样的:

HTML:

ESITwoToFive = '1'

烧瓶:

<form action="/testing" method="POST" id="existBidFormOne" name="existBidFormOne" autocomplete="off">
        <!-- Row one holds Title-->
        <div class="center row" style="width: 100%;">
            <h1>Enter a Job Number or a Project Name:</h1>
        </div>

        <!-- Row two holds job number-->
        <div class="row">
            <!-- Column one holds Job number-->
            <div class="col-m-6">
                <div class="row centerInput">
                    <div class="col-m-4 inputPad"><b>Job Number:</b></div>
                    <div class="col-m-8 noPad">
                        <input type="text" id="exb_jobNumber" name="exb_jobNumber" class="input maxWidth" />
                    </div>
                </div>
            </div>
        </div>
        <div class="centerInput row">
            <span>
                <button type="submit" id="exb_searchOne" class="srchBtn">Search</button>
            </span>
        </div>
    </form>

上面的代码可以很好地打开一页,但是我也想打开:

@app.route('/testing', methods=["GET", "POST"])
def testing():
    if request.method == 'POST':
        job_num = request.form.getlist('exb_jobNumber')
        if job_num:
            session = Session()
            results = ds.get_job_info(session, job_num) # returns dict
            results2 = ds.get_job_material(session, job_num) #returns dict
            session.close()
            # open page one
            return render_template('pageOne.html', **results)

谢谢!

1 个答案:

答案 0 :(得分:1)

打开多个页面如果您想在单个网页上(即在单个浏览器选项卡中)打开多个页面,则可以使用{{ 3}}。您可以有一个基本页面,并可以嵌套许多子页面,其中包含您想要的任何内容。

如果要在多个浏览器选项卡中打开多个页面,则应仅返回单个HTML主页面(即单个模板),但要在该网页中设置变量,并包含要在新的浏览器选项卡中打开的所有页面的链接。 。然后,在template inheritance的帮助下,您可以打开这些页面。