1

J'essaie d'installer la saisie semi-automatique dans l'une de mes formes. Je continue à obtenir cette erreur:Problèmes liés au registre de saisie semi-automatique

Institution not registered, you have registered: ['InstitutionAutocomplete'] 

Je n'ai pas déclarer ou InstitutionAutocopmlete enregistrés nulle part dans mon code, donc je ne sais pas comment je pourrais avoir déclenché cette erreur.

J'ai la forme suivante:

class AddUserAccountsForm(forms.ModelForm): 
    """ 
    Form for adding new user financial accounts. 

    """ 
    required_css_class = 'required' 
    name = forms.ModelChoiceField(required=True, queryset=Institution.objects.all(), widget=autocomplete_light.ChoiceWidget('Institution')) 
    user_accounts_name = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'User Name'}), label="") 
    user_accounts_password = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Password'}), label="") 

class Meta: 
    model = Institution 
    fields = ('name','user_accounts_name', 'user_accounts_password',) 

Ceci est mon autocomplete_light_registry.py:

importation autocomplete_light

from models import Institution 

autocomplete_light.register(Institution, 
    search_fields = ['name'], 
    attrs={ 
     'placeholder':'Find your institution', 
     'data-autocomplete-minimum-characters':1, 
    }, 
    widget_attrs={ 
     'data-widget-maximum-values':4, 
     'class':'modern-style', 
    }, 
) 

Voici mon html. L'erreur est déclenchée lorsque le code s'exécute {{form.as_p}}.

{% load staticfiles %} 
<script type="text/javascript" src="{% static 'jquery.js' %}"> 
</script> 
{% include 'autocomplete_light/static.html' %} 

<form action="" method="post"> 
    {% csrf_token %} 
    {{ form.as_p }} 
    <input type="submit" value="Submit" /> 
    <input type="hidden" name="next" value="{{ next }}" /> 
</form> 

urls.py est:

url(r'^profile/add_user_accounts/', UserAccountsUpdate.as_view(), name='add_user_accounts'), 

Répondre

1

Dans votre formulaire, vous devez utiliser 'InstitutionAutocomplete' au lieu de 'Institution'

name = forms.ModelChoiceField(required=True, 
           queryset=Institution.objects.all(), 
           widget=autocomplete_light.ChoiceWidget('InstitutionAutocomplete'))