【问题标题】:Django autocomplete does not workDjango 自动完成功能不起作用
【发布时间】:2016-11-03 11:14:11
【问题描述】:

我在 django 1.10.2 中使用 django-autocomplete-light 3.2.1。在管理员而不是自动完成字段中,我看到了一个选择字段。我按照here 的说明进行操作。

包 urls.py

urlpatterns = i18n_patterns(
url(r'^admin/', admin.site.urls),
url(r'^autocomplete/', include('apps.vehicle.urls')),)

在应用程序文件夹中,我有一个车辆应用程序。在里面我有以下代码。 1)views.py:

  from dal import autocomplete
  from .models import Model

  class ModelAutocomplete(autocomplete.Select2QuerySetView):
      def get_queryset(self):
    # Don't forget to filter out results depending on the visitor !
          if not self.request.user.is_authenticated():
               return Model.objects.none()

    qs = Model.objects.all()

    if self.q:
        qs = qs.filter(name__istartswith=self.q)

    return qs

2)forms.py:

from django import forms

from dal import autocomplete
from .models import Model, ChassisCode

class ChassisCodeForm(forms.ModelForm):
   test_field = forms.ModelChoiceField(
        queryset=Model.objects.all(),
        widget=autocomplete.ModelSelect2(url='model-autocomplete')
    )

class Meta:
    model = ChassisCode
    fields = ('__all__')

3) admin.py:

class ChassisCodeAdmin(admin.ModelAdmin):
    form = ChassisCodeForm

admin.site.register(ChassisCode, ChassisCodeAdmin)

4) 最后是 urls.py:

from django.conf.urls import url

from .views import ModelAutocomplete

urlpatterns = [
    url(
        r'^model-autocomplete/$',
        ModelAutocomplete.as_view(),
        name='model-autocomplete',
    ),
]

但是,自动完成功能不起作用。在管理员中,我只看到常见的管理员选择字段。我的代码可能有什么问题?

【问题讨论】:

    标签: autocomplete django-admin django-autocomplete-light


    【解决方案1】:

    首先,我检查了 Firefox 控制台并发现了一些错误,这意味着存在一些代码错误或未加载静态文件。之后,我检查了服务器中的静态文件夹,发现自动完成文件夹不存在。然后,只需运行以下代码即可解决问题。

    python manage.py collectstatic
    

    【讨论】:

      【解决方案2】:

      制作

      list_display = ('balabala','balabala',) 
      

      在您的 ModelAdmin 中的 form 之前,这对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-28
        • 2020-11-14
        • 2014-03-11
        • 2014-01-16
        • 2011-03-14
        • 2013-12-23
        • 2018-01-10
        • 2016-02-24
        相关资源
        最近更新 更多