Получение данных из выпадающего списка и отображение их в виде таблицы
Я новичок в Django. Я хочу получить данные из выпадающего списка, при нажатии на кнопку сохранения, данные должны отображаться в виде таблицы. Пожалуйста, помогите мне решить эту проблему. Пожалуйста.
urls.py:
urlpatterns = [
path('',views.upload,name='upload'),
]
views.py:
def upload(request):
machines = Machine.objects.all()
return render(request,'usermaster/upload.html',{'machines':machines})
models.py:
class Machine(models.Model):
machine_name = models.CharField(max_length=200)
operation_no = models.IntegerField()
def __str__(self):
return self.machine_name
upload.html:
<form action="" method="post">
{% csrf_token %}
<select>
<option>Select Machine Name</option>
{% for machine in machines %}
<option>{{ machine.machine_name }}</option>
{% endfor %}
</select>
<br>
<br>
<select>
<option>Select Operation Number</option>
{% for machine in machines %}
<option>{{ machine.operation_no }}</option>
{% endfor %}
</select>
<br>
<br>
<br>
<input type="submit" value="Save">
</form>
<tr>
<td>{{machine.machine_name}}</td>
<td>{{machine.operation_no}}</td>
</tr>
В вашем views.py
:
def save_machine(request):
if request.method == "POST":
machine_name = request.POST['machine_name']
operation_no = request.POST['operation_no']
choiced_machine = Machine.objects.get(machine_name=machine_name, operation_no=operation_no)
machines = Machine.objects.all()
return render(request,'usermaster/upload.html',{'machines':machines,
'choiced_machine':choiced_machine})
В вашем urls.py
:
urlpatterns = [
path('save',views.save_machine,name='save_machine'),
#your other url paths
]
В вашем upload.html:
<form action="{% url 'save_machine' %}" method="post">
{% csrf_token %}
<select>
<option>Select Machine Name</option>
{% for machine in machines %}
<option name="machine_name">{{ machine.machine_name }}</option>
{% endfor %}
</select>
<br>
<br>
<select>
<option>Select Operation Number</option>
{% for machine in machines %}
<option name="operation_no">{{ machine.operation_no }}</option>
{% endfor %}
</select>
<br>
<br>
<br>
<input type="submit" value="Save">
</form>
<tr>
<td>{{choiced_machine.machine_name}}</td>
<td>{{choiced_machine.operation_no}}</td>
</tr>
Надеюсь, это сработает