सभी वेब.py फॉर्म उदाहरण निम्न प्रारूप में हैं (webpy.org से):Web.py का उपयोग कर किसी फॉर्म में एक selectbox/dropdownbox को गतिशील रूप से कैसे भरें?
myform = form.Form(
form.Textbox("boe"),
form.Textbox("bax",
form.notnull,
form.regexp('\d+', 'Must be a digit'),
form.Validator('Must be more than 5', lambda x:int(x)>5)),
form.Textarea('moe'),
form.Checkbox('curly'),
form.Dropdown('french', ['mustard', 'fries', 'wine']))
class index:
def GET(self):
form = myform()
# make sure you create a copy of the form by calling it (line above)
# Otherwise changes will appear globally
return render.formtest(form)
def POST(self):
form = myform()
if not form.validates():
return render.formtest(form)
else:
# form.d.boe and form['boe'].value are equivalent ways of
# extracting the validated arguments from the form.
return "Grrreat success! boe: %s, bax: %s" % (form.d.boe, form['bax'].value)
मैं फॉर्म घोषित करते समय ड्रॉपडाउन बॉक्स (फॉर्म। ऊपर दिए गए उदाहरण में ड्रोपडाउन) को भरना नहीं चाहता , लेकिन जब पृष्ठ कहा जाता है तो डेटाबेस तालिका से पुनर्प्राप्त प्रविष्टियों का उपयोग करके GET/POST विधि में।
मैंने कुछ घंटों की खोज की है लेकिन कहीं भी संकेत नहीं मिल रहा है (google, webpy.org, google groups)
मुझे नहीं लगता कि इस मामले में पैच फॉर्म के इनपुट के लिए अच्छा है (लेकिन यह किसी अन्य स्थिति में आसान हो सकता है)। इस विशेष मामले के लिए मैं 'args = []' के साथ 'ड्रॉपडाउन' बनाने का सुझाव देता हूं और फिर फॉर्म की प्रति में ड्रॉपडाउन के 'तर्क' सेट करता हूं। –