Django/Python - перезапись первоначально загруженных значений

Я тихий новичок в Django, и у меня возникли трудности со следующим:

У меня есть представление, которое изначально имеет set1=0(False) и set2=1(True). Пользователь может поменять их местами, чтобы установить set1=1(True) и set2=0(False). Пользователь может сделать это, нажав кнопку 'Update'. Моя проблема в том, что в бэкенде все меняется, но фронтенд/view/html не обновляется. И я понятия не имею почему...

Я создал небольшой пример, который, если это сработает, заставит работать и мой кейс Django...

У меня есть следующее:

views.py

Сначала используется этот вид, и устанавливаются начальные значения для set1 и set2:

class MainSettingsView(generic.TemplateView):
    extra_context = {"main_page": "active"}

    context_object_name = 'main'
    template_name = 'index.html'

    set1 = int(model.set1 == True)
    set2 = int(model.set2 == True)

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        model = Setting12.objects.get(pk=1)

        context['set1'] = int(model.set1 == True)
        context['set2'] = int(model.set2 == True)
        return context    

Затем, основываясь на выбранной опции в радиокнопках, он изменяет модель/db и, следовательно, также set1 и set2:

class UpdateButton(generic.TemplateView):
        extra_context = {"main_page": "active"}
        context_object_name = 'setting12'
        template_name = 'index.html'
    
        def post(self, request, queryset=None, *args, **kwargs):
    
            if update_type == "set1":

                model = Setting12.objects.get(pk=1)
                model.set1 = True
                model.set2 = False
    
                return redirect(reverse("main"))
    
            elif update_type == "set2":

                model = Setting12.objects.get(pk=1)
                model.set1 = False
                model.set2 = True
    
                return redirect(reverse("main"))

Для контекста, вот что я использую в html:

index.html

<form class="card" action="{% url 'setting12' %}" method="POST" enctype="multipart/form-data">
    {% csrf_token %}

        <h3 class="card-title">Update Settings</h3>


        <input type="radio" name="update_type" value="set1" {% if view.set1 %}checked {%endif%}>    set1
        {% if view.set1 is 1 %} ( Current setting ) {% else %} {% endif %}</input>

        <input type="radio" name="update_type" value="set2" {% if view.set2 %}checked {%endif%}>      Set2
        {% if view.set2 is 1 %} ( Current setting ) {% else %} {% endif %}</input>

        <button class="btn btn-primary" type="submit">Update</button>

</form>

Я вижу, что при нажатии кнопки изменяется db, set1 и set2 меняют значение. Но я также вижу, что при переходе от MainSettingsView > UpdateButton > MainSettingsView модель не перечитывается... она не просматривает модель снова. Поэтому я думаю, что проблема в том, что не получается обновить представление. Но я не могу найти способ сделать это...

Может ли кто-нибудь помочь мне? Пока что это занимает у меня несколько дней :s

Я наконец-то получил его =D!!!

Убрав часть view. в моем index.html, и убрав set1 = int(model.set1 == True) set2 = int(model.set2 == True) я удалил все начальные настройки, которые я больше не мог перезаписать. После этого все полностью заработало :)

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