0
我正在做一个Django项目,并且在我的本地主机站点上,我在该站点上创建了一个搜索栏。但是,在给定输入时,该搜索栏不会返回任何结果。我查看网页源代码,我发现,我从来没有把一些台词:搜索栏无法在Django站点上运行
<input type='hidden' name='csrfmiddlewaretoken' value=(deleted for security purposes on Stack Overflow />
然后我用Ubuntu的我的Firefox浏览器检查元素功能,当我刷新页面后跑了网络监视器,我这样的:
GET http://127.0.0.1:8000/static/assets/css/default.css [HTTP/1.0 304 NOT MODIFIED 5ms]
GET http://127.0.0.1:8000/static/assets/js/jquery-2.1.3.min.js [HTTP/1.0 304 NOT MODIFIED 8ms]
GET http://127.0.0.1:8000/static/assets/js/ajax.js [HTTP/1.0 304 NOT MODIFIED 11ms]
当我在一些输入进入,我得到了这条线:
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'),
而在我的views.py文件,我有这个search_titles功能:
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})
我不不知道我在做什么导致搜索栏无法正常工作,但请告诉我是否需要查看更多源代码,并编辑此帖。谢谢。
这工作。谢谢。 – brown1001 2015-02-06 17:36:04
@ brown1001如果这个答案对你有帮助,你可以点击检查标记为正确答案。谢谢。 – levi 2015-02-06 17:39:08