,當我發動的Django的runserver命令,我收到它看起來像這樣的錯誤:Django的自動完成自動完成未註冊錯誤
autocomplete_light.exceptions.AutocompleteNotRegistered: CityAutocomplete not registered (registry is empty)
令我百思不解的是,CityAutocomplete註冊和我通過檢查這去localhost:8000/autocomplete/CityAutocomplete
有沒有人知道什麼是錯的? 這裏是我的 forms.py:
class OppForm(forms.ModelForm):
opp_city = forms.ModelChoiceField(City.objects.all(), widget=autocomplete_light.ChoiceWidget('CityAutocomplete'))
class Meta:
model = Opportunity
fields = ('name','start', 'end', 'expiration','description','opp_type','location','street_address','opp_city', 'hours_per_week','opp_pic','extra_field_number','label1','label2','label3','label4','label5',)
exclude = ('by_booth','opp_by')
def __init__(self, *args, **kwargs):
super(OppForm, self).__init__(*args, **kwargs)
self.fields['extra_field_number'].label = "Number of Extra Fields"
這裏是我的autocomplete_light_registry.py:
import autocomplete_light
from cities_light.models import City
class CityAutocomplete(autocomplete_light.AutocompleteModelBase):
search_fields = ['^name', ]
autocomplete_light.register(City, CityAutocomplete)
我的最終目標是儘量使用Django的城市光和Django的自動完成創建表單字段,允許用戶輸入城市來獲取自動填充建議。 再次感謝!
更新: 一個我想到可能出現的問題是,它可能是小部件無法找到,因爲我的項目結構的CityAutocomplete。我的應用程序都位於項目目錄中名爲apps的文件夾中,而不是直接位於項目目錄的根目錄中。
你是否在'admin.autodiscover()'之前的urlconf中調用'autocomplete_light.autodiscover()'? – sk1p
是的,我遵循了文檔。不知道發生了什麼。 – Aurora
只要你的'autocomplete_light_registry'可以導入爲'yourapp.autocomplete_light_registry',它就可以工作。你有錯誤回溯到你的蹤跡嗎?如果沒有,你可以使用'--traceback'選項運行管理命令。 – sk1p