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

省市区列表

settiong.py配置mysql数据库

 DATABASES = {

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

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

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

'PASSWORD': '123456',

} }

你可能感兴趣的:(django 三级联动邮件地址)