django2.0,实现搜索数据库数据并显示在网页的功能

django2.0版本实现一个学号检索系统,目前可以获取输入框中的值,那么怎样将获取的值发送给服务器,让输入框的值和sqlite里的学生信息匹配,存在的话就显示在网页中(是通过ajax,但是自己不熟悉),请问如何解决
下面是对应的文件

models.py
class Student(models.Model):
stu_name = models.CharField(max_length = 150)
stu_number = models.TextField()

views.py
def search(request):
students = Student.objects.all() # 查询所用的数据
# students = Student.objects.filter(stu_name='武佳佳',) # 查询武佳佳的信息
context = {'students': students}
return render(request, 'search.html', context, )

search.js
$(function () {
$('button').bind("click",function () { /* bind() 绑定函数,点击事件,执行,p标签,将文本内容显示来*/
// alert($('input[type="text"]').val());
var a = $('input[type="text"]').val(); /*获取了输入框的值*/
// alert(a) ;
$.get('/search/',{"a":a})
// 下面就是通过ajax向服务器发送查询请求
})
});

search.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>学号检索</title>
<script src="../static/blog/bootstrap/js/jquery.min.js"></script>
<link rel="stylesheet" href="../static/blog/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="../static/blog/bootstrap/css/bootstrap-theme.min.css">
<script src="../static/blog/bootstrap/js/bootstrap.min.js"></script>
<script src="../static/blog/bootstrap/js/search.js"></script>
<body>
<h1 class="container">学号检索系统</h1>
<div class="row">
<div class="col-lg-12">
<div class="input-group">
<input type="text" class="form-control" aria-label="...">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">搜索<span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right">
<li><a href="#">学号</a></li>
<li><a href="#">姓名</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
<div style=margin:100px></div>
<div class="panel panel-default col-lg-12 ">
<!-- Default panel contents -->
<div class="panel-heading">检索结果</div>
<!-- Table -->
{% for stu in students %} <!--循环views中的students-->
<table class="table">
<tr> <!--tr表示行-->
<th> <!--一个th就是一列-->
{{ stu.stu_name }} <!-- 这是变量-->
</th>
<th>
{{ stu.stu_number }}
</th>
</tr>
</table>
{% endfor %}
</div>
</div>
</body>
</html>

我没环境,不方便帮你写代码,但可以告诉你思路:

    你想用ajax方式查数据,第一步,你已经获取到了输入表单的的值,这很好。

    第二步,你需要添加一个查询接口路由,和view,用来返回查询到后数据。

    第三步,让前端js代码,用ajax的方式,请求你添加的查询路由地址,带上参数。

    第四步,在路由对应的view代码中,获取通过url请求传过来的参数。

    第五步,在view代码中,对参数进行检查,通过后,调用数据查询方法,获取结果集。

    第六步,在view代码中,将结果集转为json(一般是json),返回。

    第七步,ajax在收到返回结果后,将数据显示在网页中。

    第八步,调整数据显示的样式,使之美观一点。

    如有不明可以追问,或私信留言。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网