Cохранение предыдущих значений после перезагрузки страницы django

У меня есть выпадающий список стран:

введите сюда описание изображения

Код models.py:

from django.db import models


class CountriesView (models.Model):

    name = models.CharField(max_length=100)

Код views.py

class IndexView(View):

    def get(self, request, *args, **kwargs):
        countries = CountriesView.objects.all()

        context = {
            'countries': countries,
        }
        return render(request, 'index.html', context=context)

    def post(self, request, *args, **kwargs):

        if request.method == 'POST':
            country = request.POST['name']

    if 'countries' in request.session:
        request.session['countries'].append(country)
    else:
        request.session['countries'] = [country]

    list_countries = request.session.get('countries', None)

    countries = CountriesView.objects.all()

    # контекст
    context = {
        'countries': countries,
        'list_countries': list_countries
    }
    return render(request, 'index.html', context=context)

Код html:

<body>

<form method="post">
    {% csrf_token %}
    <select name="name">
        <option selected="selected">Страны</option>
        {% for country in countries %}
        <option>{{ country.name }}</option>
        {% endfor %}
    </select>
    <input type="submit" value="Вести">
</form>

{% for c in list_countries %}
    <p>{{ c }}</p>
{% endfor %}

</body>

Когда я выбираю страну и нажимаю на кнопку, страна пишется снизу

введите сюда описание изображения

Но когда я выбираю еще раз страну, то предыдущая заменяется на нынешнюю. А как сделать так, чтобы старая не исчезала, а новая писалась снизу и так далее. Как сделать так чтобы при обновлении данные сохранялись?


Ответы (1 шт):

Автор решения: Za Ars
# во вью

def get(...):
    ...
    list_countries = request.session.get('countries', None)

def post(...):
    ...
    if 'countries' in request.session:
        request.session['countries'].append(country)
    else:
        request.session['countries'] = [country]

→ Ссылка