Я пытаюсь реализовать автозаполнение, следующее django-autocomplete-light tutorial
И я могу подтвердить, что представление автозаполнения было создано, введя URL-адрес напрямую, как показано ниже.
Тем не менее, когда я тестирую с использованием вида формы, автозаполнение не работает, и в консоли появляется следующая ошибка.
Uncaught ReferenceError: yl не определен
Кто-нибудь знает, что вызывает эту проблему и как ее решить?
HTML-страница
{% extends "base.html" %}
{% load crispy_forms_tags %}
{% crispy document_form document_form.helper %}
{% load staticfiles %}
{% block content %}
<script src="{% static 'vendor/js/select2.js' %}"></script>
<link rel="stylesheet" type="text/css" href="{% static 'css/form.css' %}" />
<link rel="stylesheet" type="text/css" href="{% static 'vendor/css/select2.css' %}" />
<h3>Upload Project</h3>
{% crispy form %}
{% endblock %}
forms.py
from django import forms
from project.models import html
from django.forms import widgets
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit
from dal import autocomplete
class DocumentForm(forms.ModelForm):
def __init__(self,*args,**kwargs):
super(DocumentForm,self).__init__(*args,**kwargs)
self.helper=FormHelper(self)
self.helper.form_id='projectForm'
self.helper.form_method='post'
self.helper.add_input(Submit('submit', 'Submit'))
class Meta:
model=html
fields=['project','version','diff','program','location','certificate','user','html','idf','eso']
wdigets={
'project':autocomplete.ModelSelect2(url='project:project-autocomplete')
}
class ProjectAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs=html.objects.all()
if self.q:
qs=qs.filter(project__istartswith=self.q)
return qs