Django-使用下拉URL链接选项将值从模板传递到视图文件

时间:2019-02-26 14:41:50

标签: django django-templates django-views

如果从下拉列表中选择了现金,我目前正在将用户重定向到付款确认页面。

<select class="custom-select " id="payment" name= "pay_method" onchange="SelFunction()" required>
   <option value=""> Select the Pay Method </option>
   <option value="credit card"> Credit Card </option>
   <option value="cash"> Cash </option>
</select>

<script>
  function SelFunction() {
    var x = document.getElementById("payment").value;
      if (x == 'cash') {
        window.location.href = "{% url 'payment_confirmation' %}";
      }
   };
 </script>

此代码未将任何值发布到视图文件。我已经尝试了request.POST和request.GET方法,但都没有用。有什么方法可以从模板中获取值?

1 个答案:

答案 0 :(得分:0)

正如其他评论者所提到的,这应该在接收表单值并相应重定向的帖子中处理。

但是,如果您按照所描述的那样坚持它的行为,则处理此问题的一种方法是将下拉列表的值作为参数传递给django url。然后在您的视图中处理参数并进行相应的重定向。

网址中的Django参数为explained here

由于您正在使用javascript调用url,因此可能需要使用javascript将值获取到url中,因此您可能必须使用技巧。有关将JavaScript变量潜入Django URL的信息,请参见this thread for a solution