Django - ajax_select 小部件

3 投票
1 回答
1476 浏览
提问于 2025-04-16 21:21

我正在尝试把一个叫 SelectMultiple 的默认小部件换成 ajax_select 的小部件。

我按照安装指南进行了操作,以下是我的文件:

settings.py

AJAX_LOOKUP_CHANNELS = {
    'dubberword' : dict(model='content.DubberWord', search_field='name'),
}

INSTALLED_APPS = (
# ...
    'ajax_select',
# ...
)

urls.py

urlpatterns = patterns('',
# ...
  (r'^ajax_select/', include('ajax_select.urls')),
# ...
)

models.py

class DubberWord(models.Model):
  name = models.CharField(max_length=50, unique=True)
  image = models.ImageField(upload_to='images/', blank=True, null=True)

  def __unicode__(self):
    return self.name

class Dubber(models.Model):
  name = models.CharField(max_length=50)
  words = models.ManyToManyField(DubberWord, verbose_name='Items')

  def __unicode__(self):
    return self.name

admin.py

from ajax_select import make_ajax_form

class DubberAdmin(admin.ModelAdmin):
    form = make_ajax_form(Dubber, dict(words='dubberword'))

admin.site.register(Dubber,DubberAdmin)

然后我尝试打开一个 Dubber 对象的管理页面时,出现了这个提示:

在渲染时遇到 TemplateDoesNotExist 错误: autocompleteselectmultiple_dubberword.html, autocompleteselectmultiple.html

1 个回答

0

我在管理界面中使用了grappelli。
它提供了自动完成的查找功能。

撰写回答