vlambda博客
学习文章列表

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