Получение значения из выпадающих кнопок для последующего использования

Я делаю приложение на Django, в котором есть 3 выпадающие кнопки Select host, Select Filepath и Select Alert. Мне нужно получить обратно выбранные значения, чтобы использовать их позже при запуске скрипта InfluxDB. Я новичок в Django и у меня много проблем с этим. Вот мой index.html

{% load static %}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Run Script</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="{% static 'script.js' %}"></script>
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
      integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
      crossorigin="anonymous"
    />
  </head>
  <body>
    <h2>Run Script</h2>
    <div class="container">
      <form method="post">
        {% csrf_token %}
        <div class="row">
          <div class="col-md-4">
            <label for="host_select">Select Host:</label>
            <select id="host_select" name="host_select" class="form-control">
              <option value="">Select...</option>
              {% for x in hosts %}
              <option value="{{ x.host }}">{{ x.host }}</option>
              {% endfor %}
            </select>
          </div>
          <div class="col-md-4">
            <label for="filepath_select">Select Filepath:</label>
            <select
              id="filepath_select"
              name="filepath_select"
              class="form-control"
            >
              <option value="">Select...</option>
              {% for x in filepaths %}
              <option value="{{ x.filepath }}">{{ x.filepath }}</option>
              {% endfor %}
            </select>
          </div>
          <div class="col-md-4">
            <label for="alert_select">Select Alert:</label>
            <select id="alert_select" name="alert_select" class="form-control">
              <option value="">Select...</option>
              {% for x in alerts %}
              <option value="{{ x.alert_name }}">{{ x.alert_name }}</option>
              {% endfor %}
            </select>
          </div>
        </div>
      </form>
      <br />
      <button type="button" id="run_button" class="btn btn-primary">Run</button>
    </div>
  </body>
</html>

и мой views.py

from django.shortcuts import render, HttpResponse
from django.http import HttpResponse
from django.template import loader
from .models import Hosts,Filepath,Alerts


def index(request):
    hosts=Hosts.objects.all().values()
    filepaths=Filepath.objects.all().values()
    alert=Alerts.objects.all().values()
    template=loader.get_template('index.html')
    context={
        'hosts':hosts,
        'filepaths':filepaths,
        'alerts':alert
    }
    return HttpResponse(template.render(context,request))

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

Я перепробовал все, что нашел в Интернете, но так и не смог разобраться.

Что вам нужно, так это получить представление о "форме модели django". Возможно, это поможет:

https://docs.djangoproject.com/en/5.0/topics/forms/modelforms/

Вы можете изменять значения внутри экземпляра модели из вашего шаблона и "хранить" данные внутри... Модельные данные могут быть сохранены из шаблона через POST, что вы обычно определяете в views.py...

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

С наилучшими пожеланиями, Дэвид

Вернуться на верх