Хобрук: Ваш путь к мастерству в программировании

Нужна помощь в форме поиска ajax и jquery в django

Я написал форму поиска, используя ajax и jquery, здесь я пытаюсь отправить форму с пользователем, start_date и end_date.

здесь user = q start_date = q1 end_date = q2

код поиска:

    {% extends 'newbase.html' %}

{% block extra_js %}
<script type="text/javascript">
$( document ).ready( function() {
  $( '#searchSubmit' ).click( function() {
    q = $( '#q' ).val();
    $( '#search_results').html( '&nbsp;' ).load( '/myapp/results_search/?q=' + q +'&q1='+ q1 +'&q2='+q2 );
  });
});

$( document ).ajaxStart( function() {
  $( '#spinner' ).show();
}).ajaxStop( function() {
  $( '#spinner' ).hide();
});
</script>
{% endblock %}

{% block content %}
<center>

<div>

   <input id="q" type="text"/>
   <input id="q1" type="text"/>
   <input id="q2" type="text"/>

  <input id="searchSubmit" type="submit" value="Search"/>
  <br/>
  <span class="hint">Type in a  user &  Dates to search </span>
  <div class="margin">
    <span id="spinner"><img src="/media/img/spinner.gif"/></span>
    <div id="search_results"></div>
  </div>
</div>
</center>
{% endblock %}

В представлении.py

def user_search(request):
  data = {
     }
  return render_to_response('manager/attendance_search.html', data,
                               context_instance = RequestContext(request)) 


def results_search(request):
   if request.is_ajax():
      q = request.GET.get( 'q' )
      start=request.GET.get( 'q1')
      end=request.GET.get( 'q2' )
      if q is not None:            
        results = MyTable.objects.filter(at_user=q,at_date__gte=start,at_date__lte=end)
        data = {
                'results': results,
            }
        return render_to_response( 'search_results.html', data, 
                                       context_instance = RequestContext(request))

Мои вопросы:

  • После указания дат и имен пользователей он не возвращает никаких результатов?
  • Как добавить несколько аргументов в ajax, например? q = q и q1 = q1 и q2 = q2 в функции jquery?
  • как получить значения из request.GET.get и передать в ORM?

если я выполняю только пользовательский поиск, редактируя эту строку, это дает результат

Ниже изменения работают

  $( '#search_results').html( '&nbsp;' ).load( '/myapp/results_search/?q=' + q );

в представлении.py

 def results_search(request):
       if request.is_ajax():
          q = request.GET.get( 'q' )

          if q is not None:            
            results = MyTable.objects.filter(at_user=q)
            data = {
                    'results': results,
                }
            return render_to_response( 'search_results.html', data, 
                                           context_instance = RequestContext(request))

но здесь работает одиночный поиск, если я добавил несколько аргументов, он не работает.

Я делаю что-то не так в request.GET.get?

Пожалуйста, нужна помощь в этом


Ответы:


1

Я исправил это самостоятельно, я забыл добавить строки ниже в скрипты, эти значения становятся пустыми. Теперь я получаю результаты поиска.

q1 = $('#q1').val(); q2 = $('#q2').val();

24.02.2011
Новые материалы

Структуры данных в C ++ - Часть 1
Реализация общих структур данных в C ++ C ++ - это расширение языка программирования C, которое поддерживает создание классов, поэтому оно известно как C с классами . Он используется для..

Как я опубликовал свое первое приложение в App Store в 13 лет
Как все началось Все началось три года назад летом после моего четвертого класса в начальной школе. Для меня, четвертого класса, лето кажется бесконечным, пока оно не закончится, и мой отец..

Что в лицо
Очерк о возвращении физиогномики и о том, почему мы должны это приветствовать. История начинается со странной науки. Р. Тора Бьорнсдоттир, Николас О. Рул. Видимость социального класса по..

Почему шаблоны проектирования и почему нет?
Сложность — мать всех проблем в программировании. Программное обеспечение должно быть разработано с точки зрения того, кто его поддерживает, а не того, кто его пишет, потому что программное..

Создание дизайна обуви с помощью машинного обучения
Обувь. Что подождать? Я думал, что речь пойдет о машинном обучении! Ну это так. Если бы вы пошли на Amazon, сколько обуви вы бы нашли? Наверное, много, не так ли? Но много ли в них..

GraalVM в 2022 году: итоги года
2022 год был очень продуктивным для проекта и сообщества GraalVM. Вместе мы разработали множество новых функций, выпустили GraalVM для последних версий Java и новых платформ и увидели несколько..

Быстрая разработка: волшебный мир больших языковых моделей
РУКОВОДСТВО Быстрая разработка: волшебный мир больших языковых моделей Подход, основанный на данных, для получения наилучшего ответа Искусство и наука Можно ли совместить машинное..