当前位置: 首页 > news >正文

自己做相册的网站谷歌网页版

自己做相册的网站,谷歌网页版,外贸led网站建设,wordpress安装主题出错前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

在这里插入图片描述

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、 计算机视觉、机器学习、神经网络以及人工智能相关知识,成为学习学习和学业的先行者!
欢迎大家订阅专栏:零基础学Python:Python从0到100最新最全教程!

一、获取全部记录

1.1 增加客户

在Python Web开发中,我们经常需要处理客户数据。首先,我们需要在数据库中添加一些客户记录。这可以通过Django的admin界面完成,或者直接在数据库中添加。以下是通过Django admin界面添加客户的示例:
通过Django admin添加客户
此时就直接在我们的数据库管理中,出现了客户信息,也可以直接通过数据库里面的添加功能,在数据库里面添加。

1.2 获取所有表记录

接下来,我们将实现一个功能,当浏览器访问 sales/customers/ 时,服务端返回系统中所有的客户记录。这可以通过Django的Model和QuerySet来实现。以下是views.py中的示例代码:

from django.http import HttpResponse
from common.models import Customerdef listcustomers(request):# 获取所有客户记录的QuerySetqs = Customer.objects.values()retStr = ''# 遍历QuerySet,构建返回字符串for customer in qs:retStr += '<br>'.join([f'{name} : {value}' for name, value in customer.items()]) + '<br>'return HttpResponse(retStr)

Customer.objects.values() 就会返回一个 QuerySet 对象,这个对象是Django 定义的,在这里它包含所有的Customer 表记录。
QuerySet 对象 可以使用 for 循环遍历取出里面所有的元素。每个元素 对应 一条表记录。
每条表记录元素都是一个dict对象,其中 每个元素的 key 是表字段名,value 是 该记录的字段值
上面的代码就可以将 每条记录的信息存储到字符串中 返回给 前端浏览器。

1.3 修改路由表

为了让Django知道如何处理 sales/customers/ 的请求,我们需要在urls.py中添加相应的路由规则。
前面,我们在bysms\urls.py 主路由文件中,已经有如下的记录了:

    # 凡是 url 以 sales/  开头的,# 都根据 sales.urls 里面的 子路由表进行路由path('sales/', include('sales.urls')),

这条URL记录,指明 凡是 url 以 sales/ 开头的,都根据 sales.urls 里面的 子路由表进行路由。我们只需修改 sales/urls.py 即可,添加如下记录:

  path('customers/', views.listcustomers),

在这里插入图片描述

大家可以使用 admin 登录, 再添加一些 客户记录。
然后可以在浏览器输入如下 网址: http://127.0.0.1:8080/sales/customers/
回车后,浏览器显示结果类似如下:
在这里插入图片描述

和我们数据库中的记录信息一致。

1.4 迁移数据库

定义好模型后,需要执行迁移来更新数据库结构:

python manage.py makemigrations
python manage.py migrate

1.5 使用Django Admin添加客户数据

为了让示例更加完整,我们使用Django Admin来添加一些初始客户数据。在admin.py中注册Customer模型:

from django.contrib import admin
from .models import Customeradmin.site.register(Customer)

启动Django开发服务器,并访问http://127.0.0.1:8000/admin来添加客户数据。

1.6 创建视图以获取所有客户记录

views.py中,我们将创建一个视图函数来处理获取所有客户记录的请求:

from django.http import HttpResponse
from .models import Customerdef listcustomers(request):customers = Customer.objects.all().values()retStr = '<h1>所有客户记录</h1>'for customer in customers:retStr += f'<p>姓名: {customer["name"]}, 电话: {customer["phonenumber"]}, 地址: {customer["address"]}</p>'return HttpResponse(retStr)

1.7 配置URL路由

最后,我们需要在urls.py中配置URL路由,以便将请求映射到我们的视图函数:

from django.urls import path
from . import viewsurlpatterns = [path('customers/', views.listcustomers),
]

二、根据条件过滤客户记录

2.1 理解过滤条件

过滤条件允许我们根据特定的参数来查询数据库中的记录。例如,我们可能只想获取电话号码为13000000001的客户记录。
我们可以通过 filter 方法加入过滤条件,修改view里面的代码,如下所示:

def listcustomers(request):# 返回一个 QuerySet 对象 ,包含所有的表记录qs = Customer.objects.values()# 检查url中是否有参数phonenumberph =  request.GET.get('phonenumber',None)# 如果有,添加过滤条件if ph:qs = qs.filter(phonenumber=ph)# 定义返回字符串retStr = ''for customer in  qs:for name,value in customer.items():retStr += f'{name} : {value} | '# <br> 表示换行retStr += '<br>'return HttpResponse(retStr)

与刚才不同的是,我们加入了一段过滤条件:

  # 检查url中是否有参数phonenumberph =  request.GET.get('phonenumber',None)# 如果有,添加过滤条件if ph:qs = qs.filter(phonenumber=ph)

2.2 修改视图以支持过滤

看到函数定义的参数 request了:
Django 框架在 url 路由匹配到函数后, 调用函数时,会传入 一个 HttpRequest 对象给参数变量 request,该对象里面 包含了请求的数据信息。
HTTP 的 Get 请求url里面的参数(术语叫 querystring 里面的参数), 可以通过HttpRequest对象的 GET 属性获取。这是一个类似dict的对象。

比如要获取querystring里面的 phonenumber 参数 ,就可以像这样:

ph =  request.GET.get('phonenumber',None)

第二个参数传入 None 表示,如果没有 phonenumber 参数在 querystring中 ,就会返回 None。
然后通过调用 QuerySet 对象的filter方法,就可以把查询过滤条件加上去:

qs = qs.filter(phonenumber=ph)

有了这个过滤条件,Django 会在底层执行数据库查询的SQL语句 加上相应的 where 从句,进行过滤查询。
注意,参数名 phonenumber 是和 定义的表 model 的属性名 phonenumber 一致的。
filter的过滤条件可以有多个,只要继续在后面的参数添加过滤条件即可。
比如:

qs = qs.filter(phonenumber=ph,address='山东青岛')

这样就 除了 根据电话号码字段过滤,还有根据 地址字段过滤。

2.3 测试过滤功能

启动Django开发服务器,然后在浏览器中访问以下URL来测试过滤功能:

http://127.0.0.1:8000/sales/customers/?phonenumber=13000000001

就可以只看到电话号码为13000000001的客户记录。

结论

通过本篇文章,我们学习了如何在Django中获取和过滤客户记录。我们从创建模型开始,通过迁移更新数据库结构,使用Django Admin添加数据,然后创建视图来处理数据的获取和过滤。最后,我们配置了URL路由来将请求映射到相应的视图函数。希望这篇文章能帮助您更好地理解Django在Web开发中的应用,特别是在处理数据库记录方面的强大功能。

http://www.khdw.cn/news/70900.html

相关文章:

  • 小店面设计装修网seo运营学校
  • 国内品牌备案建站优秀营销案例分享
  • 成都网站建设常见问题南宁网络优化seo费用
  • 最优的网站建设网络销售管理条例
  • 电商网站 支付宝接口网站搜索引擎
  • 厦门功夫广告设计网站建设工作室建站公司排名
  • 山西运城给网站做系统的公司北京seo顾问服务公司
  • wordpress 月光博客广州seo招聘
  • 怎么弄免费的php空间做网站现在比较好的营销平台
  • 做pc端网站流程营销策划36计
  • 成都建站价格网站seo方案案例
  • 电话销售做网站的术语查找关键词的工具叫什么
  • 专业的网站制作公司如何申请网站域名流程
  • 做外挂网站嘉兴seo外包公司
  • 大庆网站建设优化营销型网站外包
  • 微网站建设哪家强seo交流论坛
  • 云南网站建设专业品牌搜狗收录查询
  • 网站访问量咋做百度官网网页版
  • 青岛做网站公司网站seo优化徐州百度网络
  • 给几个那方面网站网址网络营销毕业论文范文
  • 国际外贸网站在线网站建设
  • 怎样用java做网站厦门网站制作
  • 关于京东商城网站建设的实践报告seo是啥意思
  • 红河网站建设网站流量数据分析
  • 宣武门网站建设seo入门教程seo入门
  • 网站经常修改好不好排名优化推广
  • 怎样在在农行网站上做风险评估关键词搜索名词解释
  • 学生为学校做网站lol今日赛事直播
  • 苏州企业网站企业营销策划合同
  • 做网站为什么先交定金网页优化方案