Я новичок в JQuery, Django и веб-разработке в целом. Я пытаюсь понять, как вставить строку в URL-адрес в функции загрузки JQuery на основе данных HTML, но получаю ошибки обратного URL. У меня есть представление, которое возвращает визуализированную таблицу HTML из файла по поисковому запросу:
urls.py
urlpatterns = [ ...
path('database/<search>', views.db_search, name='db_search'),
... ]
views.py
def db_search(request, search):
return render(request, 'app/Content/database.htm', {'context': context})
Это отлично работает, когда я жестко кодирую строку поиска в JQuery как:
$(".filterBtn").click(function(){
$("#mainpanel").load("{% url 'db_search' 'str_param' %}");
});
Проблема в том, что есть несколько кнопки фильтра, которые динамически генерируются Django в зависимости от состояния базы данных. Я не хочу жестко программировать параметры поиска (да и не должен). Я хочу сделать что-то вроде:
$(".filterBtn").click(function(){
$("#mainpanel").load("{% url 'db_search' this.innerText %}");
});
но Django выдает ошибки обратного URL, потому что this.innerText не определен.
Reverse for 'db_search 'с аргументами' ('',) 'не найдено. Пробовал 1 шаблон (ы): ['database / (? P [^ /] +) $']
Я что-то упустил? Похоже, это должно быть довольно просто.