2013-07-29 137 views
4

我使用select2作爲下拉菜單。我有下拉有18000條目,所以我想使用HeavySelect2Widget。我得到一個錯誤「{}」未找到「django_select2_central_json」與參數()和關鍵字參數的
反向
任何想法是使用下面AutoModelSelect2Field not working using django-select2


class EmployeeChoices(AutoModelSelect2Field): 
    fname = FirstName() 
    queryset = [(1,'value 1')]#fname.getAllNames() 
    search_fields = ['name__icontains',] 
給出problem.The類和字段名
field_name = EmployeeChoices(
    required=False, 
    widget=AutoHeavySelect2Widget(
     select2_options={ 
      'placeholder': u"Select a choice" 
     } 
    ), 
    label='' 
) 

回答

6

您必須在您的urls.py的django_select2網址:

from django.conf.urls import patterns, url, include 

urlpatterns = patterns('', 
    url(...), 
    url(r'^someurlprefix/', include('django_select2.urls')), 
    url(...), 
) 

r'^someprefix/'是一個正則表達式,url_patterns使用這個正則表達式映射URL來查看函數。如果你在這裏指定了前綴(它甚至可以是r'',這就是我個人使用的),Django的reverse函數將自動提供正確的URL來訪問django_select2_central_json視圖。

另請參閱Django的文檔url dispatcher

+0

加吧..仍然得到了錯誤。可你告訴我關於r'^ someurlprefix /'部分..使用什麼前綴以及在哪裏指定它。謝謝 –

+1

@WaheedKhan更新了我的答案,我希望我的意思很清楚。 – knbk

+0

它的工作..感謝knbk! –

0

它的工作對我來說,添加以下行的目錄:/static/suit/js/suit.js

地址:

(function ($) { 
    Suit.after_inline.register('init_select2', function(inline_prefix, row){ 
     $(row).find('select').select2(); 
    });