2013-07-29 99 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(); 
    });