Получение значения из выпадающих кнопок для последующего использования
Я делаю приложение на 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...
Если бы вы могли рассказать нам подробнее, что вы пытаетесь сделать, возможно, мы смогли бы помочь лучше...
С наилучшими пожеланиями, Дэвид