Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在HTML页面上打印存储在列表中的元组查询_Python_Sqlite_Flask - Fatal编程技术网

Python 如何在HTML页面上打印存储在列表中的元组查询

Python 如何在HTML页面上打印存储在列表中的元组查询,python,sqlite,flask,Python,Sqlite,Flask,我试图打印出一些存储在列表中的元组,但是我总是得到空白表。以下是我的一些代码: \uuuu init\uuuuu.py: def view_jobs(): conn = sqlite3.connect(DBNAME) c = conn.cursor() c.execute('SELECT * FROM Companies, Job WHERE Companies.cid = Job.cid') rows = c.fetchall() conn.com

我试图打印出一些存储在列表中的元组,但是我总是得到空白表。以下是我的一些代码:

\uuuu init\uuuuu.py

def view_jobs():
    conn = sqlite3.connect(DBNAME)
    c = conn.cursor()

    c.execute('SELECT * FROM Companies, Job WHERE Companies.cid = Job.cid')

    rows = c.fetchall()

    conn.commit()
    conn.close()
    return rows
@app.route('/Student/Search', methods=['GET', 'POST'])
def studentSearch():
    table = []
    if request.method == 'POST':
        return render_template('studentsearch.html')
    else: 
        table = adb.view_jobs()
        print table
        return render_template('studentsearch.html', table=table)
web\u page.py

def view_jobs():
    conn = sqlite3.connect(DBNAME)
    c = conn.cursor()

    c.execute('SELECT * FROM Companies, Job WHERE Companies.cid = Job.cid')

    rows = c.fetchall()

    conn.commit()
    conn.close()
    return rows
@app.route('/Student/Search', methods=['GET', 'POST'])
def studentSearch():
    table = []
    if request.method == 'POST':
        return render_template('studentsearch.html')
    else: 
        table = adb.view_jobs()
        print table
        return render_template('studentsearch.html', table=table)
studentsearch.html:

<tr>
                    <th>Company Name</th>
                    <th>Company E-mail</th>
                    <th>Internship Position</th>
                    <th>Internship Description</th>

                  </tr>

                  <tr>
                  {% for row in table %}
                    <td>{{row.name}}</td>
                    <td>{{row.email}}</td>
                    <td>{{row.job_type}}</td>
                    <td>{{row.job_description}}</td>
                  {% endfor %}
                  </tr>

公司名称
公司电子邮件
实习岗位
实习描述
{表%中的行为%1}
{{row.name}
{{row.email}
{{row.job_type}
{{row.job_description}
{%endfor%}
当我打印到控制台时,我会得到适当的数据,但当我运行这个时,我会得到一个没有数据输出的站点。我在这方面唯一的其他经验是Django,当我将数组传递给HTML时,它似乎保留了属性名,但我可能在查询时使用了更复杂的东西。。。我不确定我丢失的烧瓶是否有什么特别的东西

我认为错误在于我如何传递
,但我不确定最好的方法是什么

问题就在这里

<tr>
    {% for row in table %}
       <td>{{row.name}}</td> # You are trying to access a tuple attribute like a dictionary 
       <td>{{row.email}}</td> # Same here and below
       <td>{{row.job_type}}</td>
       <td>{{row.job_description}}</td>
    {% endfor %}
</tr>
然后在
studentsearch.html

更改:

c.execute('SELECT name, email, job_type, job_description FROM Companies, Job WHERE Companies.cid = Job.cid')
<tr>
    {% for row in table %}
       <td>{{row[0]}}</td>
       <td>{{row[1]}}</td> 
       <td>{{row[2]}}</td>
       <td>{{row[3]}}</td>
    {% endfor %}
</tr>

{表%中的行为%1}
{{行[0]}
{{行[1]}
{{行[2]}
{{行[3]}
{%endfor%}