使用 Python 从 0 开发属于你的个人管理系统 16 篇 | 计划数据的获取与展示
现在你已经完成了任务创建的功能了,接下来你就可以写获取数据的接口,然后渲染到网页中去。也就是说,定义路由方法,在这里根据传入的用户 id,在数据库中获取相关的任务列表数据,然后返回给前端页面。
如何获取任务列表数据呢?
上次我们在建立数据模型的时候,已经将用户表和 todo 表进行了关联:
todos = db.relationship("Todo", backref='my_user')那么现在只要通过条件查询就可以获取该用户下的任务数据。
@app.route('/todolist/', methods=['GET'])
def todolist():
user = User.query.filter_by(id=session['user_id']).first_or_404()
这里通过用户 id 查询用户数据,那么现在这个 user 对象的 todos 就是该用户的任务列表数据。
我们可以将得到的 user 下的任务返回给 todolist.html:
return render_template('todolist.html', form=todo_form, todolist=user.todos)接着,我们在 html 循环渲染列表数据就可以了:
{% for todo in todolist %}
<!-- Earnings (Monthly) Card Example -->
<div class="col-xl-8 mx-auto mb-3">
<div class="card border-left-primary shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col">
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ todo.description }}</div>
</div>
<div class="col-auto">
<input type="checkbox" class="btn-check" id="btn-check-outlined" autocomplete="off">
</div>
</div>
</div>
</div>
</div>
{% endfor %}
现在我们可以先往数据库添加一些数据:

接着我们来运行下项目,登录进入系统,打开任务列表页面,可以看到数据展示出来了:

因为我们的任务创建功能已经实现,我们可以在这里继续创建任务:

数据库中存储了
本文隐藏内容 登陆 后才可以浏览
就可以实现数据分别展示了:

那么当数据有很多的时候应该如何处理呢?有没有更好的数据获取方式?以及点击完成功能如何实现?
我们下篇见,peace!
任务列表和菜单栏没在同一页面,要下滑才看得到,todolist.html要怎么改呢?
不是很明白你要问的问题,可以说的详细一点