FormPump

ภาพหน้าจอของซอฟแวร์:
FormPump
รายละเอียดซอฟแวร์:
รุ่น: 0.1.7
วันที่อัพโหลด: 20 Feb 15
ผู้พัฒนา: Dave Mankoff
การอนุญาต: ฟรี
ความนิยม: 5

Rating: nan/5 (Total Votes: 0)

FormPump เป็นเครื่องมือที่มีงูหลามที่ทำงานร่วมกับเครื่องมือ templating นิยมที่ช่วยให้คุณเรียบร้อยกรอกข้อมูลในรูปแบบ HTML
FormPump เป็นคอลเลกชันของนามสกุลแม่แบบเครื่องยนต์หลามเขียนที่จะทำให้รูปแบบ HTML ง่ายมากที่จะทำงานร่วมกับ โดยตรงโหม่งปัญหาที่เกี่ยวข้องกับการกรอกข้อมูลในค่าลงในปัจจัยการผลิตของการใช้ปัจจัยการผลิตฉลากของคุณและแสดงข้อความผิดพลาดในวิธีที่รวดเร็ว มันเป็นเช่นนี้โดยการแนะนำชุดของแท็ก / ฟังก์ชั่นลงในแม่แบบของคุณที่สร้างองค์ประกอบในรูปแบบวิธีที่ง่ายและเป็นธรรมชาติที่มีความรวดเร็วในการปรับตัวลงในรหัสที่มีอยู่
ปัจจุบัน FormPump สนับสนุน Jinja2
เบื้องต้น [Jinja2] ตัวอย่าง
(ตัวอย่างที่แสดงใน README นี้จะถูกแสดงใน Jinja2. templating ภาษาอื่น ๆ จะมีการใช้งานที่คล้ายกัน.)
>>> จากการนำเข้า formpump JinjaPump
>>> จากสิ่งแวดล้อมนำเข้า jinja2
>>> env = สิ่งแวดล้อม (นามสกุล = [JinjaPump])
>>> = TPL env.from_string ('' '
... {% สำรอง "ตัวอย่าง" class = "รูปแบบที่เรียบง่าย"%}
... {% ฉลาก 'INP'} ป้อนค่า {% endlabel%}
... {text% "INP"%}
... {% endform%}
... '' ')
>>> tpl.render พิมพ์ ()


& nbsp; <ฉลากสำหรับ = "6GiCLEkUToekNy8xuN8AnT2esddU8MG8"> ใส่ค่า:
& nbsp;

& nbsp;>>> พิมพ์ tpl.render (form_vars = {'ตัวอย่าง': {'INP': 123}})

& nbsp; <ฉลากสำหรับ = "pnBP2IoFmfExTQdDZe44GKsFN6wrVOPu"> ใส่ค่า:
& nbsp;

ในตัวอย่างข้างต้นเราจะเห็นวัตถุแม่แบบที่เรียบง่ายถูกสร้างขึ้นที่มีรูปแบบหนึ่ง เมื่อการแสดงผลโดยไม่ขัดแย้งใด ๆ ก็เพียงแค่พิมพ์ออกรูปแบบที่เต็มไปด้วยข้อมูลที่ไม่มี. เมื่อพิเศษ "form_vars" Dict มีให้เติมค่าใด ๆ มันสามารถหาในรูปแบบเท่าที่จะสร้างมัน
นอกจากนี้คุณยังอาจสังเกตเห็นนานแอตทริบิวต์ id น่าเกลียดที่ถูกกำหนด เหล่านี้จะต้องเพื่อให้ FormPump สามารถเชื่อมโยงกับปัจจัยป้าย; FormPump ทำให้พวกเขาขึ้นเป็นมันไป คุณมีอิสระที่จะแทนที่พวกเขาเองโดยเพียงแค่การให้ id ของคุณเองและสำหรับแอตทริบิวต์ในองค์ประกอบของคุณ FormPump โดยอัตโนมัติติดตามป้ายและปัจจัยการผลิตในแม่แบบและพยายามที่จะเชื่อมโยงพวกเขาอย่างชาญฉลาดกับอีกคนหนึ่ง แต่เมื่อปัจจัยการผลิตไม่ได้มีของ id ระบุและป้ายชื่อไม่ได้สำหรับที่ระบุ
การกรอกแบบฟอร์ม
FormPump เติมในรูปแบบโดยดูค่าการป้อนข้อมูลในตัวแปรแม่แบบที่กำหนด นี้ที่เริ่มต้นตัวแปร form_vars แต่สามารถกำหนดค่าโดยการตั้งค่าคุณสมบัติของการขยาย values​​_dict_name (สำหรับ Jinja2 ตั้งนี้ในสภาพแวดล้อม: env.values​​_dict_name)
form_vars เป็นพจนานุกรมของพจนานุกรม ปุ่มระดับบนสุดเป็นตัวระบุบริบทแบบฟอร์มการอธิบายในรายละเอียดด้านล่าง บริบทแต่ละรูปแบบหมายถึงพจนานุกรมอื่นซึ่งเป็นชุดที่เรียบง่ายของคู่ค่าคีย์ที่ FormPump ใช้ในการค้นหาค่าสำหรับรูปแบบ ปุ่มอ้างถึงใส่ชื่อ ค่ากลายเป็นแอตทริบิวต์ค่า * สำหรับการป้อนข้อมูลแปลง Unicode
* หมายเหตุ: สำหรับปัจจัยการผลิตเช่นปุ่มที่ค่าที่กำหนดไว้ FormPump ใช้ค่า form_vars เพื่อตรวจสอบว่าปุ่มเพื่อเลือกก่อนถ้ามี
บริบทของฟอร์ม
FormPump ช่วยให้คุณมีมากกว่าหนึ่งรูปแบบในแม่แบบของคุณ รูปแบบที่แต่ละคนสามารถมีชื่อการป้อนข้อมูลที่ทับซ้อนกัน รูปแบบจะ disambiguated โดยสิ่งที่เรียก FormPump บริบทแบบฟอร์ม ตัวอย่างข้างต้นแสดงให้เห็นบริบทรูปแบบการตั้งค่าเป็น "ตัวอย่าง" - มันเป็นสตริงทันทีต่อไปนี้คำหลักรูปแบบ สตริงจะต้องเป็นสตริงคงไม่ตัวแปรหรือการแสดงออกอื่น ๆ แบบไดนามิก (มีวิธีรอบนี้ครอบคลุมด้านล่าง)
ตัวอย่างง่ายๆควรชี้แจงการใช้งานของพวกเขา
& nbsp;>>> = TPL env.from_string ('' '
... {% สำรอง ""%}
... {text% "INP"%}
... {% endform%}
... {% สำรอง "ข"%}
... {text% "INP"%}
... {% endform%}
... '' ')
& nbsp;>>> พิมพ์ tpl.render (form_vars = {'' {'INP': ''} 'B' {'INP': 'B'}})

& nbsp;


& nbsp;

บริบทแบบฟอร์มจริงทำหน้าที่วัตถุประสงค์สอง อุปสรรคที่พบกับการมีรูปแบบ HTML หลายในหน้าเดียวก็คือว่าอาจเป็นเรื่องยากที่จะกำหนดรูปแบบที่ถูกส่งมาถ้าทั้งสองรูปแบบมีแอตทริบิวต์การกระทำเดียวกัน บริบทแบบฟอร์มสามารถช่วย
ด้วยการตั้งค่าเริ่มต้นที่แสดงป่านนี้พวกเขาไม่มีผลกระทบโดยตรงต่อการส่งออก แต่ถ้าคุณตั้งค่าคุณสมบัติ form_name_key ในการขยาย, FormPump โดยอัตโนมัติจะแทรกการป้อนข้อมูลที่ซ่อนอยู่ที่ประกอบด้วยค่าบริบทรูปแบบที่เป็นชื่อของมัน (สำหรับ Jinja2 ตั้งนี้กับสภาพแวดล้อม)
& nbsp;>>> env.form_name_key = '__'
& nbsp;>>> = TPL env.from_string ('' '
... {% สำรอง "ตัวอย่าง"%}
... {% endform%}
... '' ')
& nbsp;>>> พิมพ์ tpl.render ()


ค่าส่งแล้วสามารถนำมาใช้เพื่อให้ง่ายต่อการระบุรูปแบบส่งบนเซิร์ฟเวอร์
แต่ใช้คุณลักษณะนี้จะนำขึ้นหนึ่งแทรกซ้อนมากขึ้น! บอกว่าเราต้องการที่จะมีรูปแบบหนึ่งซ้ำแล้วซ้ำอีกหลายครั้งในหน้าเดียว ด้วยการทำซ้ำของแต่ละรูปแบบที่เราต้องการที่จะเปลี่ยนตัวแปรที่ prefilled ยกตัวอย่างเช่นว่าคุณมีรายชื่อของคนใน บริษัท และคุณต้องการที่จะสามารถที่จะแก้ไขปรับปรุงและส่งไปยังหมายเลขโทรศัพท์สำหรับแต่ละคน คุณจึงต้องการ FormName เดียวกันส่งกลับไปยังเซิร์ฟเวอร์ แต่บริบทรูปแบบ _different เมื่อกรอกแบบฟอร์ม ใส่ฟังก์ชั่น form_ctx ซึ่งจะช่วยให้คุณสามารถเปลี่ยนบริบทที่ FormPump เงยหน้าขึ้นค่าจากได้ทันที ฟังก์ชั่น form_ctx ยังช่วยให้คุณสามารถกำหนดชื่อบริบทแบบไดนามิกในรูปแบบของคุณซึ่งฟังก์ชั่นรูปแบบมาตรฐานไม่ได้:
& nbsp;>>> = TPL env.from_string ('' '
...

    ... {% สำหรับคนที่อยู่ในคน%}
    ...

  • ... {% สำรอง "บุคคล"%}
    ... {% form_ctx คน ".% d"% บุคคล ['id']%}
    ... {% ที่ซ่อนอยู่ "id"%}
    ... {% ฉลาก "โทรศัพท์"%} {{บุคคล ['ชื่อ']}} {% endlabel%}
    ... {text% "โทรศัพท์"%}
    ... {% endform%}
    ...

  • ... {% endfor%}
    ...

... '' ')
& nbsp;>>> คน = [{'id' 1 'ชื่อ': 'บิลบี', 'โทรศัพท์': '555-123-4567'},
... {'id': 2, 'ชื่อ': 'คริสซี', 'โทรศัพท์': '555-7654-321'}]
& nbsp;>>> พิมพ์ tpl.render (คน = คน
... form_vars = Dict ([('คน.% d'% บุคคล ['id'] คน) สำหรับคนที่อยู่ในคน]))

    & nbsp;

  • & nbsp;

    & nbsp;
    & nbsp; <ฉลากสำหรับ = "weiOPnfowyRnF2tKTM9dGCVTUjmS7NZM"> บิล B.
    & nbsp;
    & nbsp;

    & nbsp;

  • & nbsp;

  • & nbsp;

    & nbsp;
    & nbsp; <ฉลากสำหรับ = "2EKjdwWOY1GdtCVK20dtZYAqBSs4Bo9i"> คริสซี
    & nbsp;
    & nbsp;

    & nbsp;

ถ้าคุณมองไปข้างต้นคุณจะเห็นสองรูปแบบทั้งที่มีชื่อรูปแบบเดียวกัน แต่มีค่าที่แตกต่างเติมเต็มในขอบคุณที่ form_ctx แบบไดนามิก ฟังก์ชั่นส่งผลกระทบต่อปัจจัยการผลิต form_ctx ทั้งหมดที่มาหลังจากที่มัน คุณสามารถระบุ form_ctx หลายในรูปแบบถ้าคุณต้องการแต่ละคนก่อน empting ก่อนหน้านี้ หมายเหตุ แต่ที่เขาอาจจะกลายเป็นความสับสน stylistically
ข้อผิดพลาดแบบฟอร์ม
ข้อผิดพลาดแบบฟอร์มทำงานเหมือน form_vars คุณสามารถใช้ฟังก์ชั่นข้อผิดพลาดในแม่แบบของคุณเพื่อบ่งชี้ถึงข้อผิดพลาดที่ควรจะไปและจากนั้นระบุ form_error เป็นพจนานุกรมที่ซ้อนกันของพจนานุกรมใด ๆ และมีข้อผิดพลาดทั้งหมดที่คุณต้องการจะใส่ใน. ข้อผิดพลาดใด ๆ ที่ไม่พบค่าที่สอดคล้องกันใน ค้นหา form_error จะถูกปล่อยออกมาจากผลลัพธ์สุดท้าย
>>> = TPL env.from_string ('' '
... {% สำรอง "ตัวอย่าง"%}
... {% ข้อผิดพลาด "field_A"%}
... {text% "field_A"%}
... {% ข้อผิดพลาด "field_B"%}
... {text% "field_B"%}
... {% endform%}
... '' ')
>>> tpl.render พิมพ์ (form_vars = {"ตัวอย่าง": {"field_A": "วาล", "field_B": "Val B"}}
... form_errors = {"ตัวอย่าง": {"field_B": "ข้อผิดพลาด B"}})

& nbsp;
& nbsp;
ข้อผิดพลาด B

& nbsp; <ชั้นอินพุต = "ข้อผิดพลาด" type = "ข้อความ" name = "field_B" value = "Val B" id = "rP5RGqTnitBwA3oP8BZNcQ9oz3pFp0BC" />

ยังทราบว่าปัจจัยการผลิตใด ๆ ที่หาข้อผิดพลาดจะมีข้อผิดพลาด "" ชั้น css ที่เพิ่มให้กับพวกเขา
ข้อความผิดพลาดโดยค่าเริ่มต้นจะออกเหมือนข้างต้นเป็นอันขาด ใน div กับคลาส "ข้อผิดพลาดข้อความ" คุณสามารถระบุรูปแบบข้อความข้อผิดพลาดของคุณเองโดยการกำหนดฟังก์ชั่นในพจนานุกรม error_renderers แล้วระบุแอตทริบิวต์ renderer ในแม่แบบ: {% ข้อผิดพลาด renderer = "กำหนดเอง"%} . โดยค่าเริ่มต้นข้อผิดพลาดทั้งหมดใช้ "เริ่มต้น" แสดงผลที่คุณมีอิสระที่จะแทนที่

ต้องการ

  • หลาม

ซอฟแวร์อื่น ๆ ของนักพัฒนา Dave Mankoff

htmlmin
htmlmin

12 May 15

ความคิดเห็นที่ FormPump

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!