2017-02-18 27 views
0

私はajaxオートコンプリートを作成しようとしています。私はパッケージのオートコンプリートライトをインストールし、select2をインポートしようとしましたが失敗しました。このようなエラーメッセージを表示します。Django: 'function'オブジェクトには 'ModelSelect2'という属性はありません

エラーメッセージ。

'function' object has no attribute 'ModelSelect2' 

settings.py

INSTALLED_APPS = [ 
'dal', 
'dal_select2', 
'dal_queryset_sequence', 

template.html

<form action="{% url 'blog:ajax_article_autocomplete' %}" method="post"> 
<div class="ui-widget"> 
<label for="id_articles">search: </label> 
<input id="id_articles" type="text" size="50" name="articles" class="ui-autocomplete-input" autocomplete="off"> 
</div> 
</form> 

views.py

from django.utils.encoding import force_bytes 
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode 
from django.views.generic.edit import FormView 
from pip import autocomplete 

def ajax_article_autocomplete(request): 
    if request.is_ajax(): 
     q = request.GET.get('term', '') 
     articles = Article.objects.filter(title__icontains = q)[:10] 
     results = [] 
     for article in articles: 
      article_json = {} 
      article_json['id'] = article.id 
      article_json['label'] = article.title 
      article_json['value'] = article.title 
      results.append(article_json) 
     data = json.dumps(results) 
    else: 
     data = 'fail' 
    mimetype = 'application/json' 
    return HttpResponse(data, mimetype) 

urls.py

これは、追加しようとしている機能に関連してどのよう

forms.py

class SearchForm(forms.ModelForm): 
    class Meta: 
     model = User 
     fields = ('__all__') 
     widgets = { 
      'title': autocomplete.ModelSelect2(url='ajax_tag_autocomplete') 
     } 

答えて

1
from pip import autocomplete 

? PipはPythonパッケージをインストールするプログラムで、これは単なるユーティリティ関数です。

あなたは何らかの理由でこの機能からModelSelect2オブジェクトを取得しようとしていますか?

あなたは輸入品を混乱させたと思うし、使用したいのはdjango_select2.forms.ModelSelect2Widgetdjango-select2を使用していると仮定します)です。

関連する問題