20200214-6 Django实现数据库查询
数据库信息查询
需求:从数据库中查询数据,并将数据渲染到前端页面
思路:首先需要确定页面的路径,然后去根目录setting中配置路径,配置子路由指向的视图函数,
接着在试图函数中查询数据库数据,获取所有数据可以通过模型类中的object.all()查询出所有信息
那么通过在渲染末班后面定义一个字典的方式将数据传给前端,前端只需要调用前端的key值就可获取到数据
例如:
def show_view(request):
stus = Student.object.all()
return render(request,’show.html’,{‘s’:stus})
我们只需要把s给前端调用就行了
那么前端怎么操作呢?
前端只需要遍历这个s,然后把遍历后的值写入到对应的表格里,例如:
<table border="1" cellspacing="0" width="500">
<str>
<th>编号</th>
<th>姓名</th>
<th>密码</th>
</str>
{% for stu in student %}
<tr>
<td>{{ stu.id }}</td>
<td>{{ stu.sname }}</td>
<td>{{ stu.spwd }}</td>
</tr>
{% endfor %}
</table>
解释:
标签<th>和<td>一样都是标识列,我们遍历的s是一行一行的,每行包括3个字段,也就说一行三列,遍历一行叠加一行就形成了表格
提示:
使用forloop.counter替代stu.id,forloop.counter是for循环里面的一个极速器,它的作用可以对id编号进行按数字顺序排序。如果我们想从某一个数字开始计数,就可以在counter后面加上数字,例如:
forloop.counter0,如果想让编号逆序排列可以写成forloop.revcounter0