Javascript Django站点上的搜索栏不起作用

Javascript Django站点上的搜索栏不起作用,javascript,python,ajax,django,django-urls,Javascript,Python,Ajax,Django,Django Urls,我正在做一个Django项目,在我的本地主机站点上,我在该站点上创建了一个搜索栏。但是,当给定输入时,该搜索栏不会返回任何结果。我查看了页面来源,注意到一些我从未输入的行: <input type='hidden' name='csrfmiddlewaretoken' value=(deleted for security purposes on Stack Overflow /> 当我输入一些输入时,我得到了这一行: POST http://127.0.0.1:8000/arti

我正在做一个Django项目,在我的本地主机站点上,我在该站点上创建了一个搜索栏。但是,当给定输入时,该搜索栏不会返回任何结果。我查看了页面来源,注意到一些我从未输入的行:

<input type='hidden' name='csrfmiddlewaretoken' value=(deleted for security purposes on Stack Overflow />
当我输入一些输入时,我得到了这一行:

POST http://127.0.0.1:8000/articles/search/ [HTTP/1.0 404 NOT FOUND 13ms]
这是我的ajax.js文件:

$(function() {

    $('#search').keyup(function() {

        $.ajax({
            type: "POST",
            url: "/articles/search/",
            data: {
                'search_text' : $('#search').val(),
                'csrfmiddlewaretoken' : 
                $("input[name=csrfmiddlewaretoken]").val()
            },
            success: searchSuccess,
            dataType: 'html'
        });
    });
});

function searchSuccess(data, textStatus, jqXHR)
{
    $('#search-results').html(data);
} 
在我的urls.py文件中,我有一行可以进行搜索:

url(r'^search/', 'article.views.search_titles'),
在my views.py文件中,我有以下搜索功能:

def search_titles(request):
    if request.method == "POST":
        search_text = request.POST['search_text']
    else:
        search_text = ''

    articles = Article.objects.filter(title__contains=search_text)

    return render_to_response('ajax_search.html', {'articles' : articles})

我不知道我在做什么,导致搜索栏无法工作,但如果你需要查看更多我的源代码,请告诉我,我会编辑这篇文章。多谢各位

您的
url
规则应该是

url(r'^articles/search/,'article.views.search_titles'),

不是

url(r'^search/,'article.views.search\u titles'),


您需要添加
“articles”
,以匹配url ajax调用
“/articles/search/”

@brown1001如果此答案对您有帮助,您可以单击复选框将其标记为正确答案。谢谢
def search_titles(request):
    if request.method == "POST":
        search_text = request.POST['search_text']
    else:
        search_text = ''

    articles = Article.objects.filter(title__contains=search_text)

    return render_to_response('ajax_search.html', {'articles' : articles})