gpt4 book ai didi

python - Django-autocomplete-url 无效 URL

转载 作者:行者123 更新时间:2023-12-01 04:20:12 27 4
gpt4 key购买 nike

我试图能够从机构列表中自动完成。我想我已经包含了 django-autocomplete-light 教程中所需的所有内容,但我收到此错误,并且不确定是什么原因导致的。希望您能帮忙。

错误是:

URL lookup for autocomplete 'InstitutionAutocomplete' failed. Have you included autocomplete_light.urls in your urls.py?

我的 django-autocomplete-light 文件夹与我的应用程序位于同一级别。还有另一个线程关于将其放入错误的目录,但似乎所有文件都可以正确导入。但不确定如何测试这一点。

这是我的 urls.py:

import autocomplete_light
autocomplete_light.autodiscover()
admin.autodiscover()

url(r'^profile/add_user_accounts$', UserAccountsUpdate.as_view(), name='add_user_accounts'),
url(r'^profile/autocomplete$', include('autocomplete_light.urls'), name='autocomplete'),

这是我的 app/目录中的 auto_complete_light.py:

import autocomplete_light
from models import Institution

class InstitutionAutocomplete(autocomplete_light.AutocompleteModelBase):
search_fields = ['^name', ]
attrs={
'placeholder': 'Find your institution',
'data-autocomplete-minimum-characters': 1,
}

autocomplete_light.register(Institution, InstitutionAutocomplete)

我的表格是:

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

"""
required_css_class = 'required'
user_institution_name = forms.ModelChoiceField(required=True, queryset=Institution.objects.all(), widget=autocomplete_light.ChoiceWidget('InstitutionAutocomplete'))
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 = User
fields = ('user_institution_name','user_accounts_name', 'user_accounts_password', )

我的 HTML 是:

{% load staticfiles %}

<form action="" method="get" role="form">
<input id="InstitutionsSearch" type="text" name="q" placeholder="Search for your institution" autocomplete="off">
</form>

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

{% endblock %}

最佳答案

问题是您已经用“$”终止了包含 URL,因此此后的任何内容都无法匹配。将其更改为:

url(r'^profile/autocomplete', ...)

没有$。

请注意,当您执行此操作时,最新版本的 Django 会发出警告。

关于python - Django-autocomplete-url 无效 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33837146/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com