2017-10-06 75 views
0

我有一個帶有HTML <select>標記的Odoo模塊,並且我想將<option>值(在選擇標記內)傳遞給Python模型,並使用此值做一些事情。 有人可以指導我嗎?Odoo 10:如何將html元素值傳遞給Python

XML代碼:

<form> 
    <select style="width: 200px" id="dropdown"> 
      <option value="volvo">Value1</option> 
      <option value="saab">Value2</option> 
    </select> 
</form> 

我的一些Python代碼我想:

 @http.route('/my_module/',auth='public') 
     def get_ip_address(self,**kw): 
      values = http.request.env['my_module.name'] 
      print values 

回答

0

你必須寫在表單中選擇選項,並在表單動作你會得到選擇值。如果你更新代碼的問題,我們可以幫你

<form action="/xxxxx" method="POST" id="unique_id"> 
<select style="width: 200px" id="dropdown"> 
     <option value="volvo">Value1</option> 
     <option value="saab">Value2</option> 
</select> 
</form> 

在HTTP控制器

@http.route(['/xxxx'], type='http', website=True, auth='public') 
def func(self,**post): 
    print post, "Here Check post values" 

工作實例測試:

      <form method="post" action="/website_payment/delete/"> 
          <input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/> 
          <div class="form-group"> 
           <select name="delete_pm_id" class="form-control" > 
            <t t-foreach="pms" t-as="pm"> 
             <option t-att-value="pm.id" t-esc="pm.name"/> 
            </t> 
           </select> 
          </div> 
          <div class="clearfix"></div> 
          <button class="btn btn-primary">Delete <span class="fa fa-long-arrow-right"></span></button> 
         </form> 


@http.route(['/website_payment/delete/'], methods=['POST'], type='http', auth="user", website=True) 
def delete(self, delete_pm_id=None): 
    if delete_pm_id: 
     pay_meth = request.env['payment.method'].browse(int(delete_pm_id)) 
     pay_meth.unlink() 
    return request.redirect('/my/payment_method') 
+0

我只是用Xml代碼更新我的問題,因爲在Python中我不知道如何從這個Xml中獲取選項值。我在其他網頁上閱讀,http.request可能是必要的,但我很困惑。 – SirGuacamole

+0

不起作用,當我運行該函數時,我得到以下輸出:{}這裏檢查帖子值,但不是在下拉列表中選擇的選項值(選擇標籤) – SirGuacamole

+0

給名稱選擇字段 –

0

你所尋找的是HTML和CSS。

<span style="color:red"><b>This is red</b></span> 

使用template來製作頁面。