2014-02-08 5 views
0

У меня возникла проблема с django (с использованием магазина). Я хочу добавить поле опций выбора, чтобы динамически менять элементную надпись в корзине, но я не получаю значение, выбранное из шаблона.Получение выпадающего значения из шаблона django

В шаблоне, где я показываю тележку у меня есть:

<form action="" method="GET">{%csrf_token%} 
<select name="suscr" title="suscr"> 
<option value="" selected>Suscribe</option> 
<option value="1" name="suscr" >Weekly</option> 
<option value="2" name="suscr">Monthly</option> 
</select> 
</form> 

Я хочу, чтобы выбрать опцию, а затем, если нажать «Оформить заказ», чтобы телега обновляется.

Appart from this, я считаю, что его отсутствует метод, изменяющий элемент в cart.py.

Любые идеи помогут.

Благодаря

Вышеуказанная форма внутри петли {% за товар в корзину%}

+0

Можете ли вы уточнить, что вы подразумеваете под «не получая значения, выбранного из шаблона»? Я предполагаю, что у вас есть представление о том, что ваша форма отправляется, и что атрибут действия фактически не пуст? «Suscr = » не отображается в URL-адресе после отправки пользователем? – rmehlinger

+0

В качестве побочного примечания, если параметр «Подписаться» находится здесь, чтобы действовать как заголовок, на самом деле вы не должны быть частью раскрывающегося списка; вместо этого используйте метку. Если это значимый вариант, то его значение не должно быть пустым. – rmehlinger

+0

Я имею в виду, что он не извлекает значение. На мой взгляд, я проверяю метод GET – lorenag83

ответ

0

Что я предлагаю вам сделать это не питон-ориентированный, но все JavaScript для большей части, как, из в описании мы предполагаем, что все, что вы имеете дело, происходит на стороне клиента.

Как вы имеете дело с корзиной покупок, то, что я хотел бы сделать это хранения, что пользователь проверяет в sessionStorage так, что информация будет сохраняться, пока пользователь переходит через веб-сайт, даже с несколькими вкладками. Поскольку пользователь может просто «ходить» по вашему магазину, вам не нужно толкать вещи в базу данных, даже не зная, хочет ли пользователь это. Просто удалите form и сохраните выбор, затем вы получите то, что выбрал пользователь, добавив атрибут, чтобы выбрать: <select onchange=my_function(this.value)>...</select>, а затем внутри my_function в script измените все, что захотите.

Когда пользователь заходит на страницу корзины покупок, вы показываете ему, что он выбрал до сих пор, получая предметы от sessionStorage, а затем, если он/она подтверждает, что хочет купить, затем отправьте форму на сервер, обновите базу данных и процесс, который определяется вашим рабочим процессом.

TL; др: хранить параметры в sessionStorage, просто разместить на сервере в конце. Для получения справки на серверной стороне уточните свой вопрос с дополнительной информацией о cart.py

+0

Спасибо за ваш ответ. Я уже храню корзину в сеансе до того, как пользователь переходит к проверке. Но когда я показываю пользователю корзину (в сеансе), я даю им возможность выбрать «тип подозрительности» для каждого элемента. Затем я хочу обновить этот сеанс с выбором suscription из опции select. (без необходимости дополнительной кнопки, прямо из опции выбора). Надеюсь, я смогу прояснить мою проблему. – lorenag83

+0

Итак, проблема заключается в получении значения из '