django-selectable问题没有加载

时间:2013-01-28 21:40:33

标签: django autocomplete

我正在尝试遵循django-selectable的文档 http://django-selectable.readthedocs.org/en/version-0.6.2/quick-start.html

我已经按照我能正确说明的方式设置了所有内容,但FireBug中的任何内容似乎都没有启动/加载。它似乎根本没有进行查找。以下是我的代码发现的任何错误?

models.py

class Event(models.Model):
    event_id = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=80,blank=False)
    date = models.DateField()
    start = models.TimeField()
    end = models.TimeField()

    category = models.ForeignKey(Category)
    city = models.ForeignKey(City)
    user = models.ForeignKey(User)

    def __unicode__(self):
        return self.name

lookup.py

from selectable.base import ModelLookup
from selectable.registry import registry

from events.models import Event


class EventLookup(ModelLookup):
    model = Event
    search_field = 'city__icontains'
    filters = {'active': True, }

    def get_item_value(self, item):
        # Display for currently selected item
        return item.name

    def get_item_label(self, item):

        return u"%s (%s)" % (item.name)

registry.register(EventLookup)

forms.py

from django import forms
from django.forms import ModelForm
from events.models import Event
import selectable.forms as selectable
from events.lookups import EventLookup


class EventForm(ModelForm):
    autocomplete = forms.CharField(
        label='Type the name of a fruit (AutoCompleteWidget)',
        widget=selectable.AutoCompleteWidget(EventLookup),
        required=False,
    )

    class Meta:
        model = Event

urls.py

 (r'^selectable/', include('selectable.urls')),

template.html

    **the following is loaded in correctly...**
    jquery-1.9.0.js
    jquery-ui-1.10.0.custom.min.css
    jquery.ui.core.js
    jquery.ui.widget.js
    jquery.ui.datepicker.js
    jquery.ui.autocomplete.js

**then I just output {{ form }}** 

页面上没有加载其他js。只是上面的js和形式。有任何想法吗?我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

{{ form }}的输出包含每个表单输入的HTML,但它不呈现表单定义的任何媒体。该文档指出您必须包含可选小部件定义的媒体。

  

django-selectable中的小部件定义了他们需要的媒体   在Form Media上的Django文档中描述。这意味着   包括你需要使用javascript和css使小部件工作   可以包含{{form.media.css}}和{{form.media.js}}   模板。