Django UpdateView: Как отобразить исходные значения?

Я использую Django UpdateView для обновления класса Model

class TestCase(models.Model):
   name = models.CharField(max_length=200)
   executable = models.CharField(max_length=1023) 
   parameter_value_list = models.TextField()   
   test_type = models.CharField(max_length=200) 
   created_by = models.CharField(max_length=200, default = "user")     
   create_datetime = models.DateTimeField("testcase created on", auto_now = True)

Мое мнение таково:

class MyEditCaseView(UpdateView):
       model = TestCase
       fields = ['name', 'executable', 'parameter_value_list', 'test_type']
       template_name_suffix = '_update_form'
       def get_success_url(self):
           return reverse("myApp:testCase")

Мой шаблон выглядит следующим образом:

<form action="{% url 'myApp:editCase' case.id %}" method="post">
      {% csrf_token %}
      <input type="submit" value="Edit">    
    </form>

Урлы:

path('editCase/<int:pk>/', views.MyEditCaseView.as_view(), name='editCase')

Все работает нормально, но у меня есть 2 вопроса:

  1. The update view page pop out is blank for all fields even they have old values. I won't like to change all fields. How to show the old values, if I don't want update all fields?

  2. The default lay out of the update view page seems not elegant. Can I change the style?

Форма Django может быть распределена.

    <!--begin::Form-->
    <form method="post">
        {% csrf_token %}
            {% field in form.fields %}
                <input name="{{ field.name }}" type="text" value="{{ field.value }}"/>
            {% endfor %}
    </form>
    <!--end::Form-->

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

Вы можете использовать значение по умолчанию, как в примере выше, поле значения.

  1. По умолчанию страница просмотра обновлений выглядит не очень элегантно. Можно ли изменить стиль?

Вы можете использовать атрибут class в каждом поле ввода.

  1. При нажатии на поле ввода, в котором указано поле "Имя", появляется выпадающий список, содержащий некоторые исторические значения, которые я использовал в качестве кандидатов. Могу ли я удалить или изменить этот исторический список?

Если установить атрибут autucomplete как off, то любая история не будет отображаться.

<input type="text" autocomplete="off" />
Вернуться на верх