Как сохранить выбранный вариант после отправки формы Django - PullRequest
0 голосов
/ 28 апреля 2020

Новое обновление: я добавил еще один набор запросов (filter_se c), и теперь я могу показать идентификатор, но я хочу показать другие атрибуты, такие как имя.

У меня есть тег выбора с загруженными элементами из БД. Когда я отправляю форму (поиск), я хочу сохранить выбранное значение и показать его в <h1>. Я не использую ajax и любые django формы. Я просто использую простые html теги выбора внутри тега формы.

Мой вид выглядит примерно так:


    def filter(request):
        qs = StrategicObjective.objects.all()
        strategicplans = StrategicPlan.objects.all()
        strategicplan = request.GET.get('strategicplan')
        if strategicplan != 'Choose...':
            qs = qs.filter(strategicplan__id=strategicplan)
        else:
            qs = []
        return qs

    def filter_sec(request):
        qt = StrategicPlan.objects.all()
        strategicplan = request.GET.get('strategicplan')
        if strategicplan != 'Choose...':
            qt = strategicplan
        else:
            qt = []
        return qt

    def HomeView(request):
        qs = filter(request)   
        context = {
            'queryset': qs,
            'strategicplans': StrategicPlan.objects.all(),               
        }
        return render(request, "home.html", context)

Мой шаблон:

<div id="stratplan_search" class="container">
    <form class="form-inline" method="GET">
        <label class="my-1 mr-2" for="strategicplan">Strategic Plan</label>
        <select class="custom-select my-1 mr-sm-2" id="strategicplan" name="strategicplan">
            <option selected>Choose...</option>
            {% for stratplan in strategicplans %}
            <option value="{{ stratplan.id }}">{{ stratplan }}</option>
            {% endfor %}
        </select>
        <button type="submit" class="btn btn-primary my-1">Submit</button>
    </form>
</div>

Я хотел бы показать выбранную опцию внутри <h1>. С этой версией я могу показать стратегический план_идентификатора (int), но это не то, что я хочу: я хочу показать название стратегического плана и другие атрибуты.

<h1>
    {% for strategicplan in queryset_sec %} 
    {{strategicplan}}
    {% endfor %} 
</h1>

Любая помощь будет принята с благодарностью. Предпочтение в простом выражении, потому что я начинающий в разработке.

...