【问题标题】:AutoModelSelect2Field not working using django-select2AutoModelSelect2Field 无法使用 django-select2
【发布时间】:2013-07-29 18:21:34
【问题描述】:

我将 select2 用于我的下拉菜单。我有大约 18000 个条目的下拉列表,所以我想使用 HeavySelect2Widget。我收到一个错误
未找到带有参数 () 和关键字参数“{}”的“django_select2_central_json”的反转
知道是什么问题。下面给出了使用的类和字段名称


class EmployeeChoices(AutoModelSelect2Field):
   fname = FirstName()
   queryset = [(1,'value 1')]#fname.getAllNames()
   search_fields = ['name__icontains',]

field_name = EmployeeChoices(
    required=False,
    widget=AutoHeavySelect2Widget(
        select2_options={
            'placeholder': u"Select a choice"
        }
    ),
    label=''
)

【问题讨论】:

    标签: django jquery-select2


    【解决方案1】:

    您必须在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 上的文档。

    【讨论】:

    • 添加它.. 仍然得到错误.. 你能告诉我关于 r'^someurlprefix/' 部分.. 使用什么前缀以及在哪里指定它。谢谢
    • @WaheedKhan 更新了我的答案,我希望我现在的意思很清楚。
    【解决方案2】:

    在目录中添加以下行对我有用:/static/suit/js/suit.js

    添加:

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

    【讨论】:

      【解决方案3】:

      在您的项目设置 urls.py 中添加 django_select2 url:

      url(r'^select2/', include('django_select2.urls')),

      【讨论】:

        猜你喜欢
        • 2014-01-02
        • 2013-02-25
        • 2013-07-04
        • 2018-07-05
        • 2015-07-09
        • 2017-09-20
        • 2015-04-11
        • 1970-01-01
        • 2013-09-15
        相关资源
        最近更新 更多