![](/img/trans.png)
[英]Mpld3 inside of Django Views - “NoneType” Object has no attribute “split”
[英]Django : 'function' object has no attribute 'ModelSelect2'
我一直在努力使Ajax自动完成。 我安装了软件包autocomplete-light,并尝试导入select2,但失败了。 它显示这样的错误消息。
错误信息。
'function' object has no attribute 'ModelSelect2'
settings.py
INSTALLED_APPS = [
'dal',
'dal_select2',
'dal_queryset_sequence',
template.html
<form action="{% url 'blog:ajax_article_autocomplete' %}" method="post">
<div class="ui-widget">
<label for="id_articles">search: </label>
<input id="id_articles" type="text" size="50" name="articles" class="ui-autocomplete-input" autocomplete="off">
</div>
</form>
views.py
from django.utils.encoding import force_bytes
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
from django.views.generic.edit import FormView
from pip import autocomplete
def ajax_article_autocomplete(request):
if request.is_ajax():
q = request.GET.get('term', '')
articles = Article.objects.filter(title__icontains = q )[:10]
results = []
for article in articles:
article_json = {}
article_json['id'] = article.id
article_json['label'] = article.title
article_json['value'] = article.title
results.append(article_json)
data = json.dumps(results)
else:
data = 'fail'
mimetype = 'application/json'
return HttpResponse(data, mimetype)
urls.py
url(r'^ajax/article/autocomplete/$', views.ajax_article_autocomplete, name='ajax_article_autocomplete'),
表格
class SearchForm(forms.ModelForm):
class Meta:
model = User
fields = ('__all__')
widgets = {
'title': autocomplete.ModelSelect2(url='ajax_tag_autocomplete')
}
from pip import autocomplete
这与您要添加的功能有什么关系? Pip是为您安装python软件包的程序,这只是一个实用程序功能。
然后由于某种原因,您试图从此函数中获取ModelSelect2
对象吗?
我认为您只是弄乱了导入,您想使用的是django_select2.forms.ModelSelect2Widget
(假设您正在使用django-select2
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.