クラスベースのビュー形式を使用して autocomplete-light 関数を実装できました。
class UserAccountsUpdate(UpdateView):
context_object_name = 'variable_used_in `add_user_accounts.html`'
form_class = AddUserAccountsForm
template_name = 'add_user_accounts.html'
def add_user_institution_details(request):
###code###
このフォームでは:
class AddUserAccountsForm(autocomplete_light.ModelForm):
required_css_class = 'required'
name = forms.CharField(
required=True,
widget=autocomplete_light.TextWidget('InstitutionAutocomplete'),
label="",)
class Meta:
model = Institution
autocomplete_fields = ('name')
fields = ('name',)
urls.py を使用:
url(r'^profile/add_user_accounts/', UserAccountsUpdate.as_view(), name='add_user_accounts'),
ただし、クラス ベースのビュー (つまり、add_user_institution_details) でコードをデバッグしようとしています。メソッドを直接呼び出すことで、コードから変更することにしました。
ビューを次のように更新しました。
def add_user_institution_details(request):
context_object_name = 'variable_used_in `add_user_accounts.html`'
form_class = AddUserAccountsForm
template_name = 'add_user_accounts.html'
if request.method == 'POST':
form = AddUserAccountsForm(request.POST)
# check whether it's valid:
if form.is_valid():
### code ###
urls.py を次のように更新しました。
url(r'^add_details', add_user_institution_details),
2 番目の実装では、何らかの理由で、オートコンプリート検索ボックスが完全に表示されなくなりました。私は何が欠けていますか?