Отображение None вместо данных в виде таблицы

Здесь, выбираю название машины и номер операции, после выбора и сохранения, вместо данных, таких как название машины и номер операции в виде таблицы, не отображается ничего. Пожалуйста, помогите мне решить эту проблему. Я новичок в Django.

urls.py:

urlpatterns = [
    path('upload/',views.upload,name='upload'),
    path('save',views.save_machine,name='save_machine')
]

views.py:

def upload(request):
    machines = Machine.objects.all()
    return render(request,'usermaster/upload.html',{'machines':machines})

def save_machine(request):
   if request.method == "POST":
      machine_name = request.POST.get('machine_name', '')
      operation_no = request.POST.get('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})

models.py:

class Machine(models.Model):
    machine_name = models.CharField(max_length=200)
    operation_no = models.IntegerField(null=False)

    def __str__(self):
        return self.machine_name

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>

попробуйте это

<form action="{% url 'save_machine' %}" method="post">
    {% csrf_token %}
       <label for="machinename">Select Machine Name:</label>
       <select name="machinename" id="machinename">
           
           {% for machine in machines %}
           <option value="{{ machine.machine_name }}">{{ machine.machine_name }}</option>
           {% endfor %}
       </select>
       <br>
       <br>
       <label for="operationname">Select Operation Number:</label>
       <select id="operationname" name="operationname">
           
           {% for machine in machines %}
           <option value="{{ machine.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>

измените свой вид следующим образом.

def save_machine(request):
   if request.method == "POST":
      machine_name = request.POST.get('machinename', '')
      operation_no = request.POST.get('operationname','')
      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})

Попробуйте отредактировать вашу форму следующим образом. В настоящее время вы не передаете никаких значений, поэтому возникает внутренняя ошибка сервера, и вы не получаете никакого ответа от сервера, поэтому появляется ошибка None

 <select name="machine_name">
    <option>Select Machine Name</option>
    {% for machine in machines %}
    <option value="{{ machine.machine_name }}">{{ machine.machine_name }}</option>
    {% endfor %}
</select>

<select name="operation_no">
    <option>Select Operation Number</option>
    {% for machine in machines %}
    <option value="{{machine.operation_no}}">{{ machine.operation_no }}</option>
    {% endfor %}
</select>
Вернуться на верх