Python Django Smart Select 不起作用



我是web开发的初学者,这次我真的需要帮助,因为我使用Django,我在智能选择方面有问题。我使用这个软件包来允许用户选择一个依赖于国家的城市。我已经安装了,我就像他说的那样,它在管理页面上工作,但不幸的是,当我去我的网站时,它们不工作

model.py:

class Continent(models.Model):
    continent = models.CharField(max_length=200)  
    def __unicode__(self):
        "pour retourner Site"
        return self.continent
class Country (models.Model):
    continent = models.ForeignKey(Continent)        
    country = models.CharField(max_length=45)
    def __unicode__(self):
        return self.country

class Site(models.Model):
    nom = models.CharField(max_length=100)
    adresseSt = models.CharField(max_length=100)
    country = models.ForeignKey(Continent, default=1 )
    ville = ChainedForeignKey(
        Country, 
        chained_field="country", 
        chained_model_field="continent", 
        show_all = False,
        auto_choose = True
    )      
    codePostale = models.IntegerField(max_length=5)
    siege = models.NullBooleanField(default=False)
    telephone = models.IntegerField(max_length=10, null=True,blank = True)
    fax = models.IntegerField(max_length=10, null=True, blank=True)
    email = models.EmailField(max_length=150, null=True, blank=True)
    Correspondant = models.CharField(max_length=100, null=True, blank=True)
    secteur = models.CharField(max_length=100, null=True, blank=True)
    codeClient = models.ForeignKey('Client')
    contact = models.ManyToManyField(Contact, blank=True, null=True, through='Emploi')
    def __unicode__(self):
        "pour retourner Site"
        adresse = self.nom
        return adresse 

views.py:

class SiteForm(forms.ModelForm):
    class Meta:
        model = Site
        exclude = ['siege' ,'contact']

def ajouterSt(request):
    if request.method == 'POST':
        form = SiteForm(request.POST or None)  
        if form.is_valid(): 
            save_it = form.save(commit=False)
            save_it.save()
            return render(request, 'gestion/home.html')     
    else:
        form = SiteForm() 
    return render(request, 'gestion/ajouterSt.html', locals())

和模板:ajouterSt

{% extends 'base.html' %} 
{% block content %}
        <h2> formulaire </h2>
        <form action="/ajouterSt/" method="POST">
            {% csrf_token %}
            {{ form.as_p }}
            <input type="submit" value="Submit" />
        </form>
{% endblock %}

您可能需要在网页上实现一些javascript。与工作管理页面进行比较。那里加载了哪些javascript文件?你也在你的页面上加载它们吗?

更新-2017年5月

很抱歉,到目前为止,情况有点变化,我的表单也拒绝加载,但它在一段时间后才加载,所以你必须在下面的标签中包括,就在jquery和包含chainedfk.js的标签之后

这对django 1.10.5和django 1.11-(本文的最新版本)都很有效

<script type="text/javascript" src="{% static 'smart-selects/admin/js/bindfields.js' %}"></script>

最新更新