django-多级联动课堂版0912

本文详细介绍了如何使用HTML、jQuery和Ajax技术搭建一个动态的地域选择组件,包括省份、城市和区域的联动选择功能。从页面结构搭建到数据动态加载,再到前后端交互,全面覆盖了前端开发中常见的地域选择组件的实现过程。

新建模板

》完成基本的结构

<!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值,就可以去查找这个城市对应的子级城市了

前端再发请求

在这里插入图片描述

配置路由

在这里插入图片描述

城市视图

在这里插入图片描述

结果

在这里插入图片描述

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

复习列表生成式

在这里插入图片描述

城市视图完成

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鲸鱼编程pyhui

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

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

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

打赏作者

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

抵扣说明:

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

余额充值