2011-11-03 13 views
17

में चेक बॉक्स के माध्यम से दोहराएं मुझे लगता है कि इस तरह दिखता है एक Jinja2 टेम्पलेट है:बोतल

<form action="" method=post> 
    <table> 
     <tr> 
      <th></th> 
      <th>ID</th> 
      <th>Title</th> 
     </tr> 
     {% for page in pages %} 
      <tr> 
       <td><input type=checkbox name=do_delete value="{{ page['id'] }}"></td> 
       <td>{{ page['id'] }}</td> 
       <td><a href="{{ page['id'] }}">{{ page['title'] }}</a></td> 
      </tr> 
     {% endfor %} 
    </table> 
    With selected: 
    <input type=submit value=Delete> 
</form> 

और मैं एक समारोह है, कि, जिसके अनुसार पृष्ठों को हटाना चाहिए चेक बॉक्स की जाँच की थे जब 'हटाएं' बटन है क्लिक किया:

db.session.query(Page).filter(Page.id.in_(page_ids)).delete() 

क्या मैं के साथ अटक कर रहा हूँ कि कैसे मैं सभी चेक बॉक्स के माध्यम से पुनरावृति और जाँच की लोगों की page_ids सूची तैयार करते हैं।

उत्तर

31

बोतल के request वस्तु (ठीक है, वास्तव में वर्ग कि LocalProxy उदाहरण यह है कि request द्वारा दिया जाता है) WERKZEUG के MultiDict डेटा संरचना का एक उपवर्ग है - जो एक getlist विधि भी शामिल है।

page_ids = request.form.getlist("do_delete") 
+0

यह काम करता है, धन्यवाद! –

+0

शानदार, धन्यवाद। –

+0

वास्तव में अच्छा है। यह मेरे लिए बहुत अच्छा काम किया। धन्यवाद! – Thiago

संबंधित मुद्दे