从自动完成搜索表单访问数据 - javascript

我的自动完成表格工作正常,即。它可以正确完成数据。现在,我希望该数据可访问->将我链接到有效的网址。
我试图让它自己工作,但是我碰壁了。

有人可以给我一个提示或工作示例的链接。
感谢您的时间。

views.py

def paper_autocompleate(request):
    if request.is_ajax():
        q = request.GET.get('term', '')
        autoPaperwork = Paperwork.objects.filter(
    Q(title__icontains=q) | Q(description__icontains=q))[:10]
        results = []
        for p in autoPaperwork:
            p_json = {}
            p_json = p.title
            results.append(p_json)
        data = json.dumps(results)
    else:
        data = 'fail'
    mimetype = 'application/json'
    return HttpResponse(data, mimetype)

urls.py

urlpatterns = patterns('', 
    url(r'^api/paper_autocompleate/', 'papers.views.paper_autocompleate', name='paper_autocompleate')
)

JQAuto.js

$(function() {
  $("#autoPaperwork").autocomplete({
    source: "/api/paper_autocompleate/",
    minLength: 2,
  });
});

index.html

<div class="ui-widget">
    <input id="autoPaperwork">
</div>

参考方案

尚未测试,但我认为您需要这样做:

def paper_autocompleate(request):
if request.is_ajax():
    q = request.GET.get('term', '')
    autoPaperwork = Paperwork.objects.filter(
Q(title__icontains=q) | Q(description__icontains=q))[:10]
    results = []
    for p in autoPaperwork:
        results.append(p.title)
    data = json.dumps(results)
else:
    data = 'fail'
mimetype = 'application/json'
return HttpResponse(data, content-type=mimetype)

不知道您的p_json在做什么,但是我的JQuery-UI自动完成功能通过jsut的简单json列表工作

["result 1", "result 2"]

我通过使用json.dumps(<python_list_object>)获得的

编辑:这是我对任何数据库对象字段进行通用排序自动竞争的代码

obj = apps.get_model(app_label=app_name, model_name=model_name)
#obj = locate('LessonApp.models.%s' % otype) # old way of locating
try:
    search_list = list(obj.objects.\
                       exclude(Q(**{field: ''}) | Q(**{'{0}__isnull'.format(field): True})).\
                       values_list(field, flat=True).distinct().order_by(field))
    if q:
        search_list = filter(lambda s: s[:len(q)].lower() == q.lower(), search_list)  # search the list for q, ignore case
    return HttpResponse(json.dumps(search_list), content_type='application/json')
except Exception as ex:
    return HttpResponse('{"result": "error", "error": "DB Error\n%s"}' % ex, content_type='application/json')

编辑:这是我的JavaScript来调用我的输入

$('#id_group_name').autocomplete({
            source: "/autocomplete/cec_cms/CmsNews/group_name",
            minLength: 0,
            delay: 500 //default is 300
        }).focus(function() {
            $(this).autocomplete('search', $(this).val());
        });

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

使用Javascript和Django模板动态加载HTML图像 - javascript

我正在尝试在javascript模板中使用django加载特定的图像,但是基于django标记的格式化方式似乎遇到了问题。我在django标记中有一个标准的img静态资产来源,如下所示:{% load static %} <img src="{% static 'img/folder/logo1.svg' %}"…

在JavaScript函数中转义引号 - javascript

我正在尝试将变量传递给javascript函数。根据用户的选择,它可以是文本或图像。这里已经讨论了类似的问题,但我无法解决。在php中,我这样编码:if ($choice == 1) { $img = '<img src = "../folder/'.$_SESSION["img"].'�…

如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript

我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…

使用JS和PHP更改弹出窗口背景图像 - javascript

我有一个JS函数:function zoom(now) { document.getElementById("popup").style.display = "block"; document.getElementById("photos").style.backgroundImage = …