DjangAutoCompleteURL无效

2024-04-28 04:32:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试能够从一个机构列表自动完成。我想我已经包括了所有我需要从django自动完成轻教程,但我得到这个错误,不知道是什么原因造成的。希望你能帮忙。在

错误是:

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

我的django autocomplete light文件夹与我的应用程序处于同一级别。另一个线程是关于把它放在错误的目录中,但似乎所有文件都可以正确导入。但不知道如何测试这个。在

这是我的网址.py公司名称:

^{pr2}$

这是我的自动完成_轻.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 %}

Tags: namepyformforyour错误formsinstitution
2条回答

问题是您已经用“$”终止了including URL,因此之后没有任何内容可以匹配。更改为:

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

没有美元。在

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

在您的urls.py文件中,尝试更改以下内容:

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

为此:

^{pr2}$

它可能需要namespace而不是{},我不确定。在

相关问题 更多 >