ฉันเพิ่งเริ่มใช้ขวดและ WTForms ขออภัยล่วงหน้า
อย่างไรก็ตาม ฉันกำลังพยายามสร้างหลายรูปแบบโดยใช้แบบฟอร์มเดียวกันที่กำหนดไว้ด้านล่างใน forms.py
File_Choices = [('1', 'ex1.pdf'), ('2', 'ex2.pdf')
class Inputs(Form):
Files = SelectField(u'File', choices=File_Choices,validators =[Required()])
ฉันคุ้นเคยกับความจริงที่ว่าฉันต้องประกาศบางอย่างในบรรทัด: form1=Inputs()
เพื่อประกาศแบบฟอร์มใน views.py
อย่างไรก็ตาม ปัญหาเกิดขึ้นเมื่อฉันต้องประกาศแบบฟอร์มในจำนวนที่ไม่รู้จักและติดตามค่าที่เลือก
ปัญหาเฉพาะของฉันคือฉันมีรายการที่มีองค์ประกอบ N และแต่ละองค์ประกอบต้องสอดคล้องกับไฟล์ที่ผู้ใช้เลือกจากแบบฟอร์ม ดังนั้นฉันจึงแจกแจงปัญหาของฉันโดยสร้างแบบฟอร์มจำนวน N ก่อนและคิดถึงการใช้ for loop เช่นนี้:
for i in range(len(PDF_list))
form'i'=Input()
ดังนั้นผลคูณสุดท้ายหากความยาวของรายการคือ 5 คือ 5 แบบฟอร์มอินพุตประกาศเป็น form1, form2, form3, form4, form5 ฉันรู้ว่านี่ใช้ไม่ได้ผลเหมือนที่ฉันเพิ่งเขียนโค้ด แต่นั่นคือฟังก์ชันที่ฉันพยายามได้รับ ดังนั้นฉันจึงยังสามารถเข้าถึงค่าที่ส่งมาโดยใช้บางอย่างเช่น
dict(File_Choices).get(form'i'.Files.data)
.
อาจมีวิธีที่ชัดเจนในการทำเช่นนี้ ฉันยังใหม่กับการใช้ flask และ WTForms ดังนั้นความช่วยเหลือใด ๆ ที่ได้รับการชื่นชมและในโซลูชันของคุณหากคุณสามารถอธิบายทีละขั้นตอนสิ่งที่คุณกำลังทำตั้งแต่ฉันใหม่ นั่นจะเป็น สุดยอด.