django 三级联动邮件地址

1.创建项目和应用后,首先在settings.py文件中配置mysql数据库,并创建数据库[省市区的sql文件,网上很多]

2.创建models模型,进行数据迁移

3.创建template模板文件area1.html

4.进行urls路由配置

5.编辑views视图函数

1.models.py

 class AreaInfo(models.Model):

atitle = models.CharField(max_length=30)

aParent = models.ForeignKey('self', null=True,blank=True) 

2.urls.py

from django.conf.urlsimport url

from . import views

urlpatterns=[

    url(r'^area1/$', views.area1),

    url(r'^province/$', views.province),

    url(r'^city_(\d+)/$', views.city),

    url(r'^county_(\d+)/$', views.county),

]

3views.py

from django.shortcutsimport render

from .modelsimport AreaInfo

from django.httpimport HttpResponse, JsonResponse

def area1(request):

return render(request, 'booktest/area1.html')

#获取省数据

def province(request):

provinceList = AreaInfo.objects.filter(aParent__isnull=True)

list1 = []

for itemin provinceList:

list1.append([item.id, item.atitle])

return JsonResponse({'data': list1})

# 获取市数据

def city(request, pid):

print(pid)

cityList = AreaInfo.objects.filter(aParent_id=pid)

list1 = []

for itemin cityList:

list1.append([item.id, item.atitle])

return JsonResponse({'data': list1})

# 获取县数据

def county(request, pid):

print(pid)

countyList = AreaInfo.objects.filter(aParent_id=pid)

list1 = []for itemin countyList:

list1.append([item.id, item.atitle])

return JsonResponse({'data': list1})

4.创建html页面  area.html

<html>

<head>

<title>省市区列表</title>

<script type="text/javascript" src="/static/js/jquery-1.12.4.min.js"></script>

<script>

$(function () { //获取所有省份

$.get('/province/', function (dic) { pro = $('#pro') $.each(dic.data, function (index, item) { pro.append('' + item[1] + ''); }) })

//获取市信息

$('#pro').change(function () {

$.get('/city_' + $(this).val() + '/', function (dict) { city = $('#city');

city.empty().append('请选择市');

$('#county').empty().append('请选择区县');

$.each(dict.data, function (index, item) { city.append('' + item[1] + '');

})

});

});

//获取区县信息

$('#city').change(function () {

$.get('/county_' + $(this).val() + '/', function (dict) {

county = $('#county');

county.empty().append('请选择区县');

$.each(dict.data, function (index, item) {

county.append('' + item[1] + '');

})

})

});

})

</script>

</head>

<body>

<select id="pro">

    <option value="">前选择省</option>

</select>

<select id="city">

    <option value="">请选择市</option>

<select id="county">

<option value="">请选择区县</option>

</select>

</body>

</html>

settiong.py配置mysql数据库

 DATABASES = {

'default': { 'ENGINE': 'django.db.backends.mysql',

'NAME': "area", 'HOST': "127.0.0.1",

'PORT': 3306, 'USER': "root",

'PASSWORD': '123456',

} }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 我们每个人的智商是由父母祖辈遗传而来。所以生下来智商就已经确定了。但我们可以通过后天的学习去更新提高我们的...
    凡凡吃饭阅读 378评论 0 0
  • 不知道是搜索方法的问题还是自己不愿意看文档的问题,总之本来想在Python的标准库里面找到一个可以判断是否为灰度图...
    exmexm阅读 7,349评论 3 0
  • 阿琴打电话给我,“笑,你知道吗,和他分手后,我的世界再也没有颜色,就连天空都是灰色的”。 我在电话这头打趣,“那是...
    18岁的猫阅读 804评论 0 0
  • “童话”,真是一个太好的词。 昨晚返回时走出地铁站时已是十一点了,因为人生地不熟,连问酒店带打听路人摸索了快半个小...
    太行山脉阅读 533评论 0 2

友情链接更多精彩内容