Flask:如何路由到包含该查询的更多信息的页面

时间:2017-01-05 18:54:29

标签: python flask

所以我在Flask环境中相当新,我正在制作我的第一个应用程序,某种任务管理器应用程序,我有一个问题。

我有一个模板,我的任务列在表格中,带有for循环:

{% for task in closed_tasks %}
                        <tr>
                            <td width="300px">{{ task.name }}</td>
                            <td><button class="btn btn-default btn-sm" data-toggle="popover" title="Notes" data-content="{{task.notes}}" data-placement="top" data-animation="true">Notes</button></td>
                            <td width="100px">{{ task.due_date }}</td>
                            <td width="50px">{{ task.priority }}</td>
                            <td>
                                <a class="btn btn-danger btn-sm" href="{{ url_for('delete_entry', task_id = task.task_id) }}">Delete</a>
                            </td>
                        </tr>

 {% endfor %}

所以我现在要做的就是当我点击特定任务时,我希望在单独的页面上进行路由,在那里我可以看到更多该任务的信息。

我设法从app route开始,在那里我获得了与相关task_id的链接:

@app.route("/task_view/<int:task_id>/")
@login_required
def task_view(task_id):

但是,我现在如何在该页面上查询和显示与该task_id相关的信息?

1 个答案:

答案 0 :(得分:0)

您可能只想follow the tutorial example按摩它以获得您想要做的事情。显然,如果您已经完成了对应用程序的任何特定操作(例如非标准数据库配置),您应该弄清楚如何访问应用程序中的数据库以及我们使用该方法。

@app.route("/task_view/<int:task_id>/")
@login_required
def task_view(task_id):
    # get a handle to our db connection
    db = get_db() 
    # query the database for the given task
    # OP did not post schema information, so assumed that the
    # task info was in a table called my_task_table
    cur = db.execute('select * from my_task_table where task_id=?', [ task_id ])
    # retrieve all results from the database
    results = cur.fetchall()
    # grab our task-of-interest
    task = results[0] if results else None
    # render our template using the provided task
    return render_template('task_template.html', task=task)