layui+django+mysql三级联动-北京地区-(区是数据库返回的, 剩下的change改变,ajax提交,拼接字符串渲染页面)

刚自学了python不长时间, 也没怎么用起来,今天闲着没事干,结合layui实现了一个三级联动的问题

之前写过一个纯js(jquery)的,省市县都是自己写好的(json),然后根据change的改变来加载下一级或下两级

今天我写的是存在数据库中, 方法和上基本相同

先看下要做的结果:
在这里插入图片描述
思路解析

  1. 当我点击这个页面时, django会返回我village的数据,并渲染到这个页面的地区的地方, 既这一步我不做js加载
  2. 不选择地区, 位置是空的
  3. 当选择地区后,jquery的change事件结合ajax异步去加载对应location
  4. django后台根据ajax提交的village的value值, 将数据库中的location以json格式返回
  5. ajax请求成功后以拼接字符串的形式动态加载到location显示的地方(位置)
  6. layui注意加载完后form.render()重新渲染,否则看不到

数据库的设计
village: 地区
location: 地区对应的各个位置
在这里插入图片描述
说明: 每个区我也只找了几个而已, 不全

views加载页面的代码:

def zhiding_views(request):
    if 'isLogin' in request.session:
    	#-------核心代码就两行
        villages = Village.objects.all()
        return render(request, 'zhiding.html', locals())
        #-------
    else:
        return render(request, 'error.html')

<!-- zhiding.html -->
<form action="" class="layui-form">
        <div class="layui-form-item">
            <label class="layui-form-label">地区</label>
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

秒不可闫M先生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值