@narnik

Сделать редирект на текущую страницу с новым параметром во flask?

Здравствуйте.
Задача достаточно тривиальна, но над её решением я уже более 2х суток ломаю голову.

<div class="currenty-converter">
    <form method="post" action="" id="currency-set">
	<div class="current-currency">
	    <span class="cur-label">Отображать цены в:</span><strong>{{price}}</strong>
        </div>
	    <ul class="currency-list currency-toogle">
	    <li>
	    <a title="Dollar (USD)" href="">Долларах (USD) </a>
	    </li>
	    <li>
	    <a title="Rubles (BYN)" href="">Рублях (BYN)</a>
	    </li>
	    </ul>
    </form>
</div>


Есть такая простая форма в base.html, и задача заключается просто в том, чтобы была возможность выбирать из списка тип валюты, после чего, текущая страница перезагружалась и параметр менялся.

Я знаю как это сделать при помощи передачи параметра на другую страницу, через url_for, я понимаю, как это сделать при помощи AJAX, но в обеих случаях, мне придётся указывать какой-то конкретный route, когда задача - оставить человека на текущей странице, и даже не принципиально важно, перезагрузится она, или это сделается в динамике, без перезагрузки.
  • Вопрос задан
  • 615 просмотров
Пригласить эксперта
Ответы на вопрос 1
@narnik Автор вопроса
Работает, без `context_processor`, и не совсем так как нужно, но работает :) :

<div class="currenty-converter">
		<form method="post" action="" id="currency-set">
			<div class="current-currency">
				<span class="cur-label">Отображать цены в: </span><strong>{{request.args.get('v')}}</strong>

			</div>
			<ul class="currency-list currency-toogle">
				<li>
					<a title="Dollar (USD)" href="{{url_for(request.endpoint, v='USD')}}">Долларах (USD) </a>
				</li>
				<li>
					<a title="Rubles (BYN)" href="{{url_for(request.endpoint, v='BYN')}}">Рублях (BYN)</a>
				</li>
			</ul>
		</form>
	</div>

Осталось только понять, как этот сделать так, чтобы этот параметр по умолчанию присутствовал на всех страницах, а добавление других параметров в GET не удаляло его.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы