Django自动完成灯:字段未填充
我已经安装了“Django autocomplete light”,现在按照本教程进行操作: https : //django-autocomplete-light.readthedocs.org/en/master/tutorial.html
这是我到目前为止的代码:
setting.py
INSTALLED_APPS = ( 'dal', 'dal_select2', 'garages', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', )
models.py
class Country(models.Model): name = models.CharField(max_length=200) def __str__(self): return self.name class Person(models.Model): birth_country = models.ForeignKey(Country) def __str__(self): return self.birth_country
views.py
class CountryAutocomplete(autocomplete.Select2QuerySetView): def get_queryset(self): # Don't forget to filter out results depending on the visitor ! if not self.request.user.is_authenticated(): return Country.objects.none() qs = Country.objects.all() if self.q: qs = qs.filter(name__istartswith=self.q) return qs def create_person(request): person_form = PersonForm() c = { 'person_form': person_form, } c.update(csrf(request)) return render_to_response('garages/person_form.html', c, context_instance=RequestContext(request))
forms.py
class PersonForm(forms.ModelForm): class Meta: model = Person fields = '__all__' widgets = { 'birth_country': autocomplete.ModelSelect2(url='garages:country-autocomplete') }
urls.py
url(r'^country-autocomplete/$', CountryAutocomplete.as_view(), name='country-autocomplete'), url(r'^new_person/$', views.create_person, name='create_person'),
person_form.html
{% extends 'base.html' %} {% block content %} {% endblock %} {% block footer %} {{ form.media }} {% endblock %}
结果
问题 :“出生国家”字段没有填充,我也无法输入。
什么原因? 原因是否可能由base.html上加载的.js生成?
在base.html中加载
解决方案很简单:添加一些插件的javascrips和css