FormPump

نرم افزار تصویر:
FormPump
جزئیات نرم افزار:
نسخه: 0.1.7
ها تاریخ: 20 Feb 15
توسعه دهنده: Dave Mankoff
پروانه: رایگان
محبوبیت: 5

Rating: nan/5 (Total Votes: 0)

در FormPump یک ابزار پایتون که ادغام با موتورهای قالب محبوب، اجازه می دهد تا شما را به پاک در فرم های HTML را پر کنید است.
FormPump مجموعه ای از پایتون پسوند قالب موتور نوشته شده را به اشکال HTML بسیار ساده تر برای کار با است. این به طور مستقیم پردازد مشکلات مربوط به پر کردن در ارزش را به ورودی خود را، استفاده از برچسب به ورودی شما و نمایش پیغام خطا در یک راه سریع. این کار با معرفی مجموعه ای از برچسب ها / توابع به قالب خود را که عناصر اشکال در راه بصری و طبیعی است که سریع برای انطباق به کد موجود ایجاد کنید.
در حال حاضر، FormPump پشتیبانی Jinja2.
مقدماتی [Jinja2] مثال
(به عنوان مثال نشان داده شده در این README در Jinja2 نشان داده شده است. زبانهای دیگر قالب خواهد شد استفاده از مشابه داشته باشد.)
>>> از formpump JinjaPump واردات
>>> از jinja2 محیط زیست واردات
>>> ENV = محیط زیست (پسوند = [JinjaPump])
>>> TPL = env.from_string ('' '
... {٪ فرم "به عنوان مثال" کلاس = "ساده فرم"٪}
{endlabel٪٪}: ... {٪ برچسب 'INP'} یک مقدار را وارد نمایید
... {٪ متن "INP"٪}
... {٪ endform٪}
... '' ')
>>> tpl.render چاپ ()
<اقدام فرم = "" کلاس = "" روش = "ساده فرم ارسال">
و nbsp؛ <برچسب برای = "6GiCLEkUToekNy8xuN8AnT2esddU8MG8"> یک مقدار را وارد کنید:
و nbsp؛ <ورودی نوع = "متن" نام = "INP" مقدار = "" ID = "6GiCLEkUToekNy8xuN8AnT2esddU8MG8" />

و nbsp؛>>> tpl.render چاپ (form_vars = {'به عنوان مثال: {' INP ': 123}})
<اقدام فرم = "" کلاس = "" روش = "ساده فرم ارسال">
و nbsp؛ <برچسب برای = "pnBP2IoFmfExTQdDZe44GKsFN6wrVOPu"> یک مقدار را وارد کنید:
و nbsp؛ <ورودی نوع = "متن" نام = "INP" مقدار = "" ID = "pnBP2IoFmfExTQdDZe44GKsFN6wrVOPu" />

در مثال بالا، ما می بینیم یک قالب جسم ساده در حال خلق شدن است که شامل یک فرم. هنگامی که بدون هیچ گونه استدلال ارائه شده، آن را به سادگی چاپ کردن فرم بدون اطلاعات پر در. هنگامی که "form_vars" ویژه DICT ارائه شده است، آن را به هر مقدار که می تواند به شکل پیدا آن را به عنوان آن را تولید می کند.
همچنین شما می توانید طولانی، صفات شناسه زشت است که مجموعه ای شد اطلاع می دهد. این مورد نیاز به طوری که FormPump می توانید برچسب با ورودی های مرتبط. FormPump آنها را تشکیل می دهد به عنوان آن می رود. شما آزاد هستید تا آنها را خودتان باطل به سادگی با ارائه شناسه خود و برای صفات در عناصر خود هستند. FormPump به طور خودکار نگه می دارد آهنگ از برچسب و ورودی در قالب و تلاش برای هوشمندانه آنها را با یکدیگر مرتبط است، اما تنها زمانی که ورودی لازم نیست ID مشخص، و برچسب برای مشخص ندارد.
پر کردن فرم
FormPump در اشکال با نگاه کردن مقادیر ورودی در متغیر تعیین شده قالب را پر می کند. این پیش فرض متغیر به form_vars اما می تواند با تنظیم املاک values_dict_name از فرمت پیکربندی (: env.values_dict_name برای Jinja2، این در مورد محیط زیست است).
form_vars یک فرهنگ لغت از واژه نامه ها است. کلید های سطح بالا شناسه زمینه فرم هستند، توضیح داد در زیر جزئیات بیشتری. هر زمینه فرم اشاره به فرهنگ لغت دیگری است که یک مجموعه ساده از جفت کلید ارزش که FormPump استفاده می کند به مراجعه به مقادیر فرم. کلید نام ورودی مراجعه کنید. ارزش ها تبدیل ویژگی ارزش * برای ورودی، تبدیل به یونیکد.
* توجه: برای ورودی مانند یک دکمه رادیویی، که در آن ارزش ها از پیش تعیین شده، FormPump با استفاده از ارزش form_vars که برای تعیین رادیو را فشار دهید تا preselect، در صورت وجود.
متن فرم
FormPump شما اجازه می دهد بیش از یک فرم در قالب خود را داشته باشند. هر فرم می توانید نام ورودی با هم تداخل دارند را داشته باشد. فرم ها توسط چه FormPump خواستار زمینه فرم disambiguated. مثال بالا نشان می دهد که زمینه فرم را به "مثال" - آن رشته بلافاصله پس از کلمه کلیدی شکل است. رشته باید رشته ثابت، بیان پویا متغیر و یا دیگر نیست، (یک راه حل این پوشش داده شده در زیر وجود دارد) باشد.
یک مثال ساده باید استفاده از آنها را روشن:
و nbsp؛>>> TPL = env.from_string ('' '
... {٪ فرم ""٪}
... {٪ متن "INP"٪}
... {٪ endform٪}
... {فرم٪ "ب"٪}
... {٪ متن "INP"٪}
... {٪ endform٪}
... '' ')
و nbsp؛>>> tpl.render چاپ (form_vars = {'A': {'INP': 'A'}، 'B': {'INP': 'B'}})
<اقدام فرم = "" متد "post">
و nbsp؛ <نوع ورودی = "متن" نام = "INP" مقدار = "A" شناسه = "TCpYQKe8Dsx3jvRLqUCKRtUfsDGmDIxu" />

<اقدام فرم = "" متد "post">
و nbsp؛ <نوع ورودی = "متن" نام = "INP" مقدار = "B" شناسه = "8qXe3PUDgmDPAD3SOdQp6xEq3dYokLyU" />

زمینه های فرم در واقع دو هدف خدمت می کنند. مانع مشترک با داشتن اشکال HTML متعدد بر روی یک صفحه است که می تواند مشکل باشد که برای تعیین شکل اگر هر دو شکل دارای ویژگی عمل همان ارائه شد. زمینه های فرم می تواند کمک کند.
با تنظیمات پیش فرض، به عنوان تا کنون نشان داده شده است، آنها هیچ تاثیر مستقیمی بر خروجی. با این حال، اگر شما مجموعه ای از اموال form_name_key در فرمت، FormPump به طور خودکار وارد کردن یک ورودی مخفی که حاوی ارزش فرم بستر به عنوان نام آن، (برای Jinja2، این در مورد محیط زیست است).
و nbsp؛>>> env.form_name_key = '__'
و nbsp؛>>> TPL = env.from_string ('' '
... {فرم٪ "به عنوان مثال"٪}
... {٪ endform٪}
... '' ')
و nbsp؛>>> tpl.render چاپ ()
<اقدام فرم = "" متد "post"> <ورودی نوع = "پنهان" نام = "__" مقدار = "عنوان مثال" />

ارزش ارائه و سپس می تواند مورد استفاده قرار گیرد تا به راحتی فرم ارسال بر روی سرور را تشخیص دهد.
اما، با استفاده از این ویژگی به ارمغان می آورد تا یکی از عوارض بیشتر! می گویند که ما می خواهم به یک فرم چند بار در یک صفحه تکرار شده است. با هر تکرار در فرم، ما می خواهیم برای تغییر متغیر که prefilled هستند. به عنوان مثال، می گویند که شما یک لیست از افرادی که در یک شرکت، و شما می خواهید می شود قادر به ویرایش و ارسال به روز رسانی به شماره تلفن برای هر یک. بنابراین شما می خواهید formname همان بازگشت ارسال به سرور، اما یک زمینه فرم _different هنگام پر شده در فرم. تابع form_ctx، که اجازه می دهد تا شما را به تغییر زمینه که در آن FormPump به نظر می رسد تا ارزش از در پرواز را وارد کنید. تابع form_ctx همچنین اجازه می دهد تا شما را به او واگذار نام زمینه پویا به اشکال خود را، که تابع فرم استاندارد نمی:
و nbsp؛>>> TPL = env.from_string ('' '
...


    ... {٪ برای فرد در افراد٪}
    ...

  • ... {فرم٪ "فرد"٪}
    ... {٪ form_ctx "فرد.٪ D"٪ فرد [های "id"]٪}
    ... {٪ پنهان "شناسه"٪}
    ... {٪ برچسب "تلفن"٪} {{فرد ['نام']}} ​​{٪ endlabel٪}
    ... {٪ متن "تلفن"٪}
    ... {٪ endform٪}
    ...

  • ... {٪ endfor٪}
    ...

... '' ')
و nbsp؛>>> مردم = [{"شناسه": 1، 'نام': 'بیل B.'، 'تلفن': '555-123-4567'}،
... {های "id": 2، 'نام': 'کریس C.'، 'تلفن': '555-7654-321'}]
و nbsp؛>>> tpl.render چاپ (مردم = مردم،
... form_vars = DICT ([('فرد.٪ D'٪ فرد [های "id"]، فرد) برای فرد در مردم]))

    و 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 خواهد شد از خروجی نهایی باقی مانده است.
>>> TPL = 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": "خطا ب"}})
<اقدام فرم = "" متد "post">
و nbsp؛ <نوع ورودی = "متن" نام = "field_A" مقدار = "وال" شناسه = "XkWRXAE0w18j0N6c1mHmtEsSCMPJZWRn" />
و nbsp؛
خطا B

و nbsp؛ <کلاس ورودی = "خطا" نوع = "متن" نام = "field_B" مقدار = "وال B" شناسه = "rP5RGqTnitBwA3oP8BZNcQ9oz3pFp0BC" />

توجه داشته باشید که هر ورودی که پیدا کردن یک خطا خواهد کلاس "خطا" CSS اضافه شده به آنها را داشته باشد.
پیام های خطا به صورت پیش فرض می باشد خروجی مانند بالا & mdash؛ به در یک div با کلاس "خطا پیام". {رندر٪ خطا = "سفارشی"٪}: شما می توانید خود خطا به سبک پیام خود را با اختصاص توابع به error_renderers فرهنگ لغت خود و سپس مشخص کردن ویژگی رندر در قالب مشخص کنید. به طور پیش فرض، تمام اشتباهات استفاده از "پیش فرض" رندر که شما آزاد هستید به نادیده گرفتن هستند

مورد نیاز:.

پایتون

نرم افزار های دیگر از توسعه دهنده Dave Mankoff

plocal
plocal

11 May 15

htmlmin
htmlmin

12 May 15

نظرات به FormPump

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!