django-多级联动课堂版0912

新建模板

》完成基本的结构

<!DOCTYPE html>
<!--作者:pyhui-->
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<select name="pro" id="pro">
    <option value="">-省份-</option>
</select>


<select name="city" id="city">
    <option value="">-城市-</option>
</select>



<select name="area" id="area">
    <option value="">-区域-</option>
</select>

</body>
</html>

导入jquery

》动态的加载静态文件

在这里插入图片描述

下一步,需要测一下,jquery导入成功了没有

需要可以正常访问这个页面

配置路由

在这里插入图片描述

视图

在这里插入图片描述

试试jquery能否生效

测试

在这里插入图片描述

jquery成功加载

-----主逻辑开始----

思考,如何展现所有的省份?

页面加载后,发一个ajax请求

让后端查询有哪些省份

后端提供数据给前端

发ajax拿省数据

》完成格式

在这里插入图片描述

实现 /one/get_pro/ 的回应

》目的是回应前端的请求,给他一个响应

》路由

在这里插入图片描述

》视图逻辑

在这里插入图片描述

》视图的详情

如何拿到所有的省级信息??

根据数据表的结构,只要pid_id为空,就是省级地名

在这里插入图片描述

》测试视图的回应是否可以送到前端

在这里插入图片描述
在这里插入图片描述

》发送查询的结果,结果失败

在这里插入图片描述

自己处理数据

因为queryset 不是标准数据类型

传送时会有问题

所以,我们要把需要的数据,处理为python标准数据类型

分析了页面

了解了前端的需求

在这里插入图片描述

所以,自己造数据,给前端

》我们数据太多了

[<>,<>,<>]

可以考虑处理为

[(id,name),(),()]

》代码

在这里插入图片描述

在这里插入图片描述

引入JsonResponse

可以帮我们把python转json字符串

在这里插入图片描述

》效果相当于

在这里插入图片描述
把数据处理为json数据,同时再处理为HttpResponse数据

前端收到的效果:

在这里插入图片描述
》数据成功送 到了前端

前端继续

前端目标

塞option

在这里插入图片描述

》有用的数据

在这里插入图片描述

在这里插入图片描述

遍历数组,数据中的成员又是一个数据

》遍历

在这里插入图片描述

》拿id,拿name,拼option标签

目标:

在这里插入图片描述

拼好后的内容

在这里插入图片描述

最终实现

在这里插入图片描述

在这里插入图片描述

下一步,如何实现,点谁取谁的id

给select标签添加一个change事件

事件的匿免函数中

this,就是发生变化的那个option

通过
在这里插入图片描述
可以拿到value值的

有了 value值,就可以去查找这个城市对应的子级城市了

前端再发请求

在这里插入图片描述

配置路由

在这里插入图片描述

城市视图

在这里插入图片描述

结果

在这里插入图片描述

》后面的流程就和省级是一样的了

复习列表生成式

在这里插入图片描述

城市视图完成

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值