Использование выпадающего списка для отображения соответствующего значения в Django - PullRequest
0 голосов
/ 25 июня 2019

Я создаю веб-сайт Django и хочу, чтобы у меня была страница с раскрывающимся списком (который сделан из переменной в одной из моих моделей), и выбор из этого раскрывающегося списка изменяет отображение внизу.

Например: у меня есть модель, которая содержит переменные Имя и значение. Я хочу, чтобы в раскрывающемся списке были указаны все значения для имени и соответствующее значение, отображаемое при выборе имени.

Используя views.py, я могу отправить значения имени для создания выпадающего списка.Но я не знаю, как отобразить соответствующее значение, когда пользователь выбирает имя.

Похоже, у него очень простой ответ, но я изо всех сил пытаюсь найти пример для этого в руководствах по SO или Django.(Вероятно, потому что я не знаю правильную терминологию для использования).

Может кто-нибудь предложить какое-то направление, пожалуйста?

Мой текущий views.py выглядит следующим образом:

def index(request):
    phylogenies = Phylogenies.objects.order_by('names')
    return render(request, 'phylogeny/index.html', context)    

Какая ссылка на эту часть соответствующего HTML-кода:

index.html

<form action="PageObjects" method="post">
  <select >
    <!-- {% csrf_token %} -->
    {% for p in phylogenies %}
        <option value='{{p.id}}'>{{ p.names }}</option>
    {% endfor %}
  </select>
  <input type="submit" value="Select">
</form>

1 Ответ

0 голосов
/ 25 июня 2019

Чтобы сначала получить значение выбранной опции, вам нужно определить имя в вашем раскрывающемся меню (шаблон):

<form action="PageObjects" method="post">
  <select name="mySelect" id="mySelect">
    {% csrf_token %}
    {% for p in phylogenies %}
        <option value='{{p.id}}'>{{ p.names }}</option>
    {% endfor %}
  </select>
  <input type="submit" value="Select">
</form>

сейчас, в вашем views.py, чтобы получить значение примерно так:

def PageObjects(request):
  myOption = request.POST.get("mySelect") 
  ...
   ...

в этом случае вы можете получить значение (id) по умолчанию. Django создать это значение с автоинкрементным целым числом.

удачи .. !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...