Я пытаюсь включить функцию поиска в сегменте списка, но когда я нажимаю кнопку поиска, она не возвращает никакого ответа. Я уже пытался что-то напечатать в представлениях, но ничего не печатал, поэтому я предполагаю, что мой код неверен и не попал в виды поиска
HTML список сегментов
<input id="searchword" type="text" placeholder="Search..." /><button id="searchbutton" class="btn btn-success btn-xs">Search</button>
<script>
$(document).ready(function() {
$("#searchbutton").click(function () {
var urls = "{% url 'polls:search' %}";
var table = $('#searchword').val();
$.ajax({
url: urls,
data: {
'table': table,
};
success: function(data) {
alert("success");
},
error: function(data)
{
alert("data not found or invalid");
}
});
});
});
</script>
просмотров для поиска
def search(request):
search_data = request.GET.get('table',1)
print(searchdata)
import cx_Oracle
dsn_tns = cx_Oracle.makedsn('', '', sid='')
conn = cx_Oracle.connect(user=r'', password='', dsn=dsn_tns)
c = conn.cursor()
c.execute("select asd.segment_name,asd.is_published, au.username, asd.\"Created_Date\" from arman_segment_dimension asd join auth_user au on asd.user_id = au.id where upper(asd.segment_name) like upper('%"+search_data+"%') or upper(asd.is_published) like upper('%"+search_data+"%') or upper(au.username) like upper('%"+search_data+"%') or upper(asd.\"Created_Date\") like upper('%"+search_data+"%')")
c.rowfactory = makeDictFactory(c)
databasetable = []
for rowDict in c:
databasetable.append({
'segmentname': rowDict['SEGMENT_NAME'],
'usercreate': rowDict['USERNAME'],
'datecreate': rowDict['Created_Date'],
'published' : rowDict['IS_PUBLISHED']
})
page = request.GET.get('page', 1)
paginator = Paginator(databasetable, 5)
try:
segment = paginator.page(page)
except PageNotAnInteger:
segment = paginator.page(1)
except EmptyPage:
segment = paginator.page(paginator.num_pages)
return render(request,'segment_list.html',{'segment' : segment})
Кто-нибудь может помочь? Я уже проверил и чувствую, что здесь я не сделал ничего плохого.