FormPump

البرمجيات قطة:
FormPump
تفاصيل البرنامج:
الإصدار: 0.1.7
تاريخ إيداع: 20 Feb 15
المطور: Dave Mankoff
ترخيص: حرر
شعبية: 5

Rating: nan/5 (Total Votes: 0)

وFormPump هو أداة بايثون الذي يتكامل مع محركات النموذجيه الشعبية، مما يسمح لك لملء نظيفة في أشكال HTML.
وFormPump هو مجموعة من بيثون ملحقات قالب المحرك مكتوبة لجعل أشكال HTML أسهل بكثير من العمل مع. وتتناول مباشرة المشاكل المتعلقة بملء القيم في المدخلات الخاصة بك، وتطبيق العلامات على المدخلات الخاصة بك وعرض رسائل الخطأ في وسيلة سريعة. وذلك من خلال إدخال مجموعة من الأكواد / وظائف في القالب الخاص بك الذي خلق عناصر الأشكال بطريقة حدسية والطبيعية التي هي سريعة للتكيف إلى رمز موجود.
في الوقت الحاضر، FormPump يدعم Jinja2.
وتمهيدي [Jinja2] مثال لل
(ترد أمثلة هو مبين في هذا الملف التمهيدي في Jinja2. سوف اللغات النموذجيه أخرى يكون استخدام مماثل.)
>>> من formpump JinjaPump استيراد
>>> من البيئة استيراد jinja2
>>> الحياة الفطرية = بيئة (ملحقات = [JinjaPump])
>>> لافوري = env.from_string ('' '
... {شكل٪ "المثال" الطبقة = "نموذج بسيط"٪}
... {٪ تسمية "الشرطة الوطنية العراقية '} أدخل قيمة: {٪ endlabel٪}
... {نص٪ "الشرطة الوطنية العراقية"٪}
... {٪ endform٪}
... '' ')
>>> tpl.render الطباعة ()
<إجراء نموذج = "" الطبقة = "نموذج بسيط" طريقة = "آخر">
على & nbsp؛ <تسمية = "6GiCLEkUToekNy8xuN8AnT2esddU8MG8"> أدخل قيمة:
على & nbsp؛ <نوع الإدخال = "النص" اسم = "الشرطة الوطنية العراقية" قيمة = "" معرف = "6GiCLEkUToekNy8xuN8AnT2esddU8MG8" />

على & nbsp؛>>> tpl.render الطباعة (form_vars = {'مثلا': {'الشرطة الوطنية العراقية': 123}})
<إجراء نموذج = "" الطبقة = "نموذج بسيط" طريقة = "آخر">
على & nbsp؛ <تسمية = "pnBP2IoFmfExTQdDZe44GKsFN6wrVOPu"> أدخل قيمة:
على & nbsp؛ <نوع الإدخال = "النص" اسم = "الشرطة الوطنية العراقية" قيمة = "" معرف = "pnBP2IoFmfExTQdDZe44GKsFN6wrVOPu" />

في المثال أعلاه، نرى كائن قالب بسيط يجري إنشاء يحتوي على نموذج واحد. عندما أصدرت دون أي حجج، فإنه يطبع ببساطة الاستمارة مع أي معلومات للشغل في. عندما "form_vars" خاصة وتقدم ديكت، فإنه يملأ أي القيم التي يمكن أن تجد في النموذج كما أنه يولد ذلك.
كما قد تلاحظ طويلة، سمات معرف البشعة التي وضعت. وتلزم هذه بحيث FormPump يمكن ربط العلامات مع المدخلات؛ FormPump يجعلها تصل لأنه غني. أنت حر لتجاوز لهم نفسك ببساطة عن طريق توفير معرف الخاص بك والسمات على عناصر الخاص بك. FormPump تلقائيا بتتبع التسميات والمدخلات في القالب ومحاولات لربطها بذكاء مع بعضها البعض، ولكن فقط عندما المدخلات لا تملك هوية والمحددة، والتسميات ليس لديهم لهو محدد.
ملء النماذج
FormPump يملأ في أشكال عن طريق البحث عن قيم الإدخال في المعينة متغير القالب. يمكن تكوين هذه الافتراضات المتغيرة لform_vars ولكن عن طريق تعيين الخاصية values_dict_name للتمديد (لJinja2، تعيين هذا على البيئة: env.values_dict_name).
form_vars هو قاموس من القواميس. مفاتيح مستوى أعلى هي معرفات سياق النموذج، وأوضح في مزيد من التفاصيل أدناه. يشير كل سياق النموذج لقاموس آخر وهو مجموعة بسيطة من أزواج قيمة المفتاح الذي يستخدم FormPump لبحث قيم للنموذج. مفاتيح تشير إلى اسم الإدخال. وأصبحت القيم السمة قيمة * لالمدخلات، وتحويلها إلى يونيكود.
* ملاحظة: للحصول على المدخلات مثل زر الراديو، حيث يتم سلفا القيم، FormPump يستخدم القيمة form_vars لتحديد الزر الذي الراديو لتختر مسبقا، إن وجدت.
في السياق شكل
FormPump يسمح لك أن يكون أكثر من شكل واحد في القالب الخاص بك. كل شكل يمكن أن يكون لها أسماء المدخلات المتداخلة. وdisambiguated الأشكال من قبل ما يدعو FormPump سياق النموذج. المثال أعلاه يظهر السياق شكل لتعيين "المثال" - هو سلسلة مباشرة بعد الكلمة النموذج. يجب أن تكون السلسلة سلسلة مستمرة، وليس التعبير ديناميكي متغير أو غيرها، (هناك طريقة للتغلب على هذه مغطاة أدناه).
وهناك مثال بسيط يجب أن يوضح استخدامها:
على & nbsp؛>>> افوري = env.from_string ('' '
... {شكل٪ "أ"٪}
... {نص٪ "الشرطة الوطنية العراقية"٪}
... {٪ endform٪}
... {شكل٪ "ب"٪}
... {نص٪ "الشرطة الوطنية العراقية"٪}
... {٪ endform٪}
... '' ')
على & nbsp؛>>> tpl.render الطباعة (form_vars = {'ا': {'الشرطة الوطنية العراقية': 'A'}، 'ب': {'الشرطة الوطنية العراقية': 'B'}})
<إجراء نموذج = "" طريقة = "آخر">
على & nbsp؛ <نوع الإدخال = "النص" اسم = "الشرطة الوطنية العراقية" قيمة = "A" معرف = "TCpYQKe8Dsx3jvRLqUCKRtUfsDGmDIxu" />

<إجراء نموذج = "" طريقة = "آخر">
على & nbsp؛ <نوع الإدخال = "النص" اسم = "الشرطة الوطنية العراقية" قيمة = "B" معرف = "8qXe3PUDgmDPAD3SOdQp6xEq3dYokLyU" />

السياقات شكل تخدم في الواقع غرضا مزدوجا. وثمة عقبة مشتركة مع وجود أشكال متعددة HTML على صفحة واحدة هي التي يمكن أن يكون من الصعب تحديد أي شكل قدم إذا كان كل أشكال لها نفس السمة الإجراء. يمكن السياقات شكل يساعد.
مع الإعدادات الافتراضية، كما هو مبين حتى الآن، لديهم أي تأثير مباشر على الإخراج. ومع ذلك، إذا قمت بتعيين الخاصية form_name_key على التمديد، سوف FormPump إدراج مدخلات الخفية التي تحتوي على القيمة شكل السياق كما يبدو من اسمها، (لJinja2، تعيين هذا على البيئة) تلقائيا.
على & nbsp؛>>> env.form_name_key = '__'
على & nbsp؛>>> افوري = env.from_string ('' '
... {شكل٪ "المثال"٪}
... {٪ endform٪}
... '' ')
على & nbsp؛>>> tpl.render الطباعة ()
<إجراء نموذج = "" طريقة = "POST"> <إدخال نوع = "مخفي" اسم = "__" قيمة = "المثال" />

ويمكن بعد ذلك استخدام القيمة المقدمة من التعرف بسهولة على شكل قدم على الخادم.
ولكن، وذلك باستخدام هذه الميزة إحضار واحد أكثر تعقيدا! نقول أننا نريد أن يكون تكرار شكل واحد عدة مرات على صفحة واحدة. مع كل تكرار للنموذج، ونحن نريد لتغيير المتغيرات التي يتم مملوءة مسبقا. على سبيل المثال، ويقول لديك قائمة من الناس في الشركة، وتريد أن تكون قادرة على تحرير وتقديم التحديثات على هذا الرقم لكل واحد. لذا كنت تريد نفس formname المقدمة مرة أخرى إلى الخادم، ولكن سياق شكل _different عند تعبئة النموذج. أدخل الدالة form_ctx، والذي يسمح لك بتغيير السياق حيث يبدو FormPump عن قيم من على الطاير. وظيفة form_ctx كما يسمح لك لتعيين أسماء سياق ديناميكية لالنماذج الخاصة بك، والتي لا وظيفة النموذج القياسي لا:
على & nbsp؛>>> افوري = env.from_string ('' '
...


    ... {٪ لشخص في الناس٪}
    ... <لى>
    ... {شكل٪ "شخص"٪}
    ... {٪ form_ctx "شخص.٪ د"٪ شخص ['الهوية']٪}
    ... {٪ الخفية "المعرف"٪}
    ... {التسمية٪ "الهاتف"٪} {{شخص ['اسم']}} ​​{٪ endlabel٪}
    ... {نص٪ "الهاتف"٪}
    ... {٪ endform٪}
    ...
    ... {٪ ENDFOR٪}
    ...

... '' ')
على & nbsp؛>>> الناس = [{'معرف': 1، 'اسم': 'بيل B.'، 'الهاتف': '555-123-4567'}،
... {"معرف": 2، 'اسم': 'كريس C.'، 'الهاتف': '555-7654-321'}]
على & nbsp؛>>> tpl.render الطباعة (الناس = الناس،
... form_vars = ديكت ([('شخص.٪ د'٪ شخص ['الهوية']، شخص) لشخص في الناس]))

    على & nbsp؛ <لى>
    على & nbsp؛ <إجراء نموذج = "" طريقة = "POST"> <إدخال نوع = "مخفي" اسم = "__" قيمة = "شخص" />
    على & nbsp؛ <نوع الإدخال = "الخفية" اسم = "معرف" قيمة = "1" معرف = "SnX73O3VCSqGdKKfk14UL5W2riTZwuVq" />
    على & nbsp؛ <تسمية = "weiOPnfowyRnF2tKTM9dGCVTUjmS7NZM"> بيل B.
    على & nbsp؛ <نوع الإدخال = "النص" اسم = "الهاتف" قيمة = "555-123-4567" معرف = "weiOPnfowyRnF2tKTM9dGCVTUjmS7NZM" />
    على & nbsp؛
    على & nbsp؛
    على & nbsp؛ <لى>
    على & nbsp؛ <إجراء نموذج = "" طريقة = "POST"> <إدخال نوع = "مخفي" اسم = "__" قيمة = "شخص" />
    على & nbsp؛ <نوع الإدخال = "الخفية" اسم = "معرف" قيمة = "2" معرف = "TXyn6Vos37ixMPsNBsu8G10n9NlZrnlV" />
    على & nbsp؛ <تسمية = "2EKjdwWOY1GdtCVK20dtZYAqBSs4Bo9i"> كريس C.
    على & nbsp؛ <نوع الإدخال = "النص" اسم = "الهاتف" قيمة = "555-7654-321" معرف = "2EKjdwWOY1GdtCVK20dtZYAqBSs4Bo9i" />
    على & nbsp؛
    على & nbsp؛

اذا نظرتم أعلاه، سوف ترى شكلين، على حد سواء مع نفس اسم النموذج، ولكن مع قيم مختلفة شغلها في ذلك بفضل form_ctx ديناميكية. يؤثر على وظيفة form_ctx جميع المدخلات التي تأتي بعد ذلك. يمكنك تحديد في form_ctx متعددة في شكل إذا كنت تريد، كل واحد استباق السابق. ومع ذلك نلاحظ أن له قد تصبح مربكة أسلوبيا.
أخطاء شكل
أخطاء شكل تعمل مثل الكثير من form_vars. يمكنك استخدام وظيفة خطأ في القالب الخاص بك للإشارة إلى حيث يجب الأخطاء تذهب، ومن ثم تحديد form_error بمثابة القاموس متداخلة من قواميس تحتوي على أي وجميع رسائل الخطأ التي ترغب في وضع في. أي خطأ لا تجد القيمة المطابقة في سيترك البحث form_error من الناتج النهائي.
>>> لافوري = env.from_string ('' '
... {شكل٪ "المثال"٪}
... {الخطأ٪ "field_A"٪}
... {نص٪ "field_A"٪}
... {الخطأ٪ "field_B"٪}
... {نص٪ "field_B"٪}
... {٪ endform٪}
... '' ')
>>> tpl.render الطباعة (form_vars = {"المثال": {"field_A": "فال أ"، "field_B": "فال B"}}،
... form_errors = {"المثال": {"field_B": "خطأ B"}})
<إجراء نموذج = "" طريقة = "آخر">
على & nbsp؛ <نوع الإدخال = "النص" اسم = "field_A" قيمة = "فال أ" معرف = "XkWRXAE0w18j0N6c1mHmtEsSCMPJZWRn" />
على & nbsp؛
خطأ B

على & nbsp؛ <مدخلات الطبقة = "خطأ" نوع = "النص" اسم = "field_B" قيمة = "فال B" معرف = "rP5RGqTnitBwA3oP8BZNcQ9oz3pFp0BC" />

لاحظ أيضا أن أي المدخلات التي وجدت خطأ سيكون الطبقة "خطأ" المغلق إضافتها.
رسائل الخطأ افتراضيا يتم إخراج مثل أعلاه و [مدش]؛ في شعبة مع الطبقة "خطأ الرسالة". يمكنك تحديد الخاصة طريقتك رسالة الخطأ عن طريق تعيين الوظائف إلى القاموس error_renderers وثم تحديد السمة العارض في القالب: {الخطأ٪ العارض = "العرف"٪}. افتراضيا، كافة أخطاء استخدام "الافتراضي" العارض الذي أنت حر لتجاوز

المتطلبات:.

بيثون

البرامج الأخرى من المطور Dave Mankoff

htmlmin
htmlmin

12 May 15

plocal
plocal

11 May 15

تعليقات ل FormPump

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!