Выбранное значение не передано в Django - PullRequest
0 голосов
/ 24 сентября 2019

Я хочу передать выбранные значения, чтобы иметь зависимый раскрывающийся список с подключением к данным.Я использую <select> в HTML для передачи значения в Django, но выбранные значения не могут быть переданы в Python для обработки.

Я новичок в Django и предпочитаю не использовать models.py или forms.py на данный момент.

<select class="Lv0" name="lv0">
  <option value="US">US</option>
  <option value="UK">UK</option>
</select>

views.py

def search_index(request):
    results = []
    lv0=""
    search_term = ""
    if request.GET.get('lv0'):
        lv0 = request.GET['lv0']
    print(lv0)                        //this can't be printed
    if request.GET.get('query'):
        search_term = request.GET['query']
    print("####test#####\n", search_term)   //this is printed
    results = esearch(query=search_term)
    print(results)                         //this is printed
    context = {'results': results, 'count': len(results), 'search_term': search_term}
    return render(request, 'esearch/base.html', context) 

Нижедля query, который проходит.

  <form class="form-inline">
    <input 
    class="form-control mr-sm-2" 
    type="query" placeholder="Search Here" 
    aria-label="query"
    name = 'query'
    value = "">
    <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
  </form>

1 Ответ

1 голос
/ 24 сентября 2019

У меня не было возможности тщательно просмотреть ваш код и протестировать его на моей машине, но по крайней мере одна вещь отсутствует.Выбор не прикреплен к вашей форме, поэтому он не будет отправлен, когда кто-то нажмет кнопку «Поиск».

Измените свою форму, чтобы иметь идентификатор, и прикрепите этот идентификатор к вашему <select>, используя form="myform"

Полный пример:

Ваш <form> HTML

<form class="form-inline" id="myform">
    <input 
    class="form-control mr-sm-2" 
    type="query" placeholder="Search Here" 
    aria-label="query"
    name = 'query'
    value = "">
    <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
  </form>

Ваш <select>

<select class="Lv0" name="lv0" form="myform">
  <option value="US">US</option>
  <option value="UK">UK</option>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...