Django で runserver コマンドを起動すると、次のようなエラーが表示されます。
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-cities-light と django-autocomplete を使用して、ユーザーが都市を入力してオートコンプリートの候補を取得できるフォーム フィールドを作成することです。再度、感謝します!
更新: 私が考えた問題の 1 つは、プロジェクトの構造が原因で、ウィジェットが CityAutocomplete を見つけられない可能性があることです。私のアプリはすべて、プロジェクト ディレクトリのルートに直接置かれるのではなく、プロジェクト ディレクトリの apps というフォルダーにあります。