网上有很多的DJANGO下拉三级联动,但是都涉及到数据库回显数据操作,操作复杂,本例子是把下拉数据写在JS中,很简单,不需要修改后台太多文件,最下面是一个正常的HTML下拉三级联动文件,我们在这个文件的基础之上,把它修改放到DJANGO后台之中去,步骤如下
1.建立一个APP,例如news
2.news文件夹下面models里面建立class article,内容如下
class Article(models.Model):
name = models.CharField('标题', max_length=256)
country = models.CharField('国家', max_length=256)
province = models.CharField('省份', max_length=256)
city = models.CharField('城市', max_length=256)
代码没有写全,只摘要重要部分,其它通用部分没有写
3、news文件夹下admin文件内容如下
from django.contrib import admin
from .models import Article
from django import forms
class ArticleForm(forms.ModelForm):
class Meta:
widgets = {
'country': forms.Select(),
'province': forms.Select(),
'city': forms.Select(),
}
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
form = ArticleForm
fields = ('name',('country','province','city'))
list_display = ('name','country','province','city')
4、templates\admin\news\article文件夹下有个文件,change_form.html,把这个文件打开,加入下面的JS代码,变成如下
{% block admin_change_form_document_ready %}
<script type="text/javascript"
id="django-admin-form-add-constants"
src="{% static 'admin/js/change_form.js