05 读取数据库数据
- 获取全部记录
- 实现一个函数,来处理sales/customers/访问请求,返回数据库中customer表所有记录
-
# sales.views.py
1 from django.shortcuts import render 2 from django.http import HttpResponse 3 # 导入Customer 对象定义 4 from common.models import Customer 5 6 # sails.views 7 def list_orders(request): 8 return HttpResponse('路由子表:下面是系统中的所有订单信息') 9 10 11 def listcustomers(request): 12 # 返回一个 QuerySet对象,包含所有的表记录 13 # 每条表记录都是一个dict对象 14 # key 是字段名, value 是字段值 15 # objects是用来操作数据库的Manager接口 16 qs = Customer.objects.values() 17 18 # 定义返回给浏览器的字符串 19 retStr = '' 20 for customer in qs: 21 for name, value in customer.items(): 22 retStr += f'{name} : {value} | ' 23 # 一条记录结束后加一个<br>换行 24 retStr += '<br>' 25 26 return HttpResponse(retStr) -
1 # urls 总路由 2 from django.contrib import admin 3 from django.urls import path, include 4 5 urlpatterns = [ 6 path('admin/', admin.site.urls), 7 # 全路由 8 # path('sales/orders/', list_orders), 9 # 路由子表 10 path('sales/', include('sales.urls')), 11 ]
-
1 # sales.urls 子路由 2 from django.urls import path 3 from sales.views import list_orders, listcustomers 4 5 urlpatterns = [ 6 path('orders/', list_orders), 7 path('customers/', listcustomers) 8 ]
- 浏览器地址栏输入:http://127.0.0.1/sales/customers/
- 显示结果如下:
![image]()
![image]()
- 过滤条件
-
1 # sales.views.py 2 from django.shortcuts import render 3 from django.http import HttpResponse 4 # 导入Customer 对象定义 5 from common.models import Customer 6 7 8 def list_orders(request): 9 return HttpResponse('路由子表:下面是系统中的所有订单信息') 10 11 12 def listcustomers(request): 13 # 返回一个 QuerySet对象,包含所有的表记录 14 # 每条表记录都是一个dict对象 15 # key 是字段名, value 是字段值 16 # objects是用来操作数据库的Manager接口 17 qs = Customer.objects.values() 18 19 # 检查url中是否有参数phonenumber 20 ph = request.GET.get('phonenumber',None) 21 22 # 如果有,添加过滤条件 23 if ph: 24 qs = qs.filter(phonenumber=ph) 25 26 # 定义返回给浏览器的字符串 27 retStr = '' 28 for customer in qs: 29 for name, value in customer.items(): 30 retStr += f'{name} : {value} | ' 31 # 一条记录结束后加一个<br>换行 32 retStr += '<br>' 33 34 return HttpResponse(retStr)
-
![image]()
-




浙公网安备 33010602011771号