FormPump

Szoftver screenshot:
FormPump
Szoftver adatai:
Változat: 0.1.7
Feltöltés dátuma: 20 Feb 15
Fejlesztő: Dave Mankoff
Engedély: Ingyenes
Népszerűség: 5

Rating: nan/5 (Total Votes: 0)

FormPump egy Python eszköz, amely integrálja a népszerű sablonozó motorok, amely lehetővé teszi, hogy tisztán kitölteni HTML formában.
A FormPump gyűjteménye Python sablon motor kiterjesztések írt, hogy HTML űrlapok sokkal könnyebb dolgozni. Ez közvetlenül foglalkozik a problémák kitöltésével az értékeket saját bemenet, címkék felhelyezése a bemenetek és megjelenítésére hibaüzenetek egy gyors módja. Teszi ezt azzal ismerte a tag-készlet / funkciókat a sablont, hogy hozzon létre formák elemek intuitív és természetes módon, hogy gyorsan alkalmazkodni a meglévő kódot.
Jelenleg FormPump támogatja Jinja2.
egy bevezető [Jinja2] Példa
(Példák látható ezen a README jelennek Jinja2. Egyéb sablonozó nyelveken is hasonló használat.)
>>> From formpump import JinjaPump
>>> From jinja2 import Környezet
>>> Env = Environment (kiterjesztések = [JinjaPump])
>>> Tpl = env.from_string ('' '
... {% Formája "például" class = "simple-forma"%}
... {% Label "inp"} Adjon meg egy értéket: {% ENDLABEL%}
... {% Text "inp"%}
... {% Endform%}
... '' ')
>>> Print tpl.render ()


& Nbsp;
& Nbsp;

& Nbsp;>>> print tpl.render (form_vars = {"példa": {"inp": 123}})

& Nbsp;
& Nbsp;

A fenti példában azt látjuk, egy egyszerű sablon létrehozandó objektum, amely egy formája. Amikor renderelt argumentum nélkül, egyszerűen kiírja ki az űrlapot nélkül az információk kitöltve. Ha a speciális "form_vars" dict biztosított, kitölti minden értéket meg nem írható a formában, mert létrehozza őket.
Az is megfigyelhető, a hosszú, csúnya id attribútumok állítottak. Ezek azért szükségesek, hogy FormPump lehet a cimkéket a bemenetek; FormPump teszi őket, mert megy. Ön szabadon felülbírálhatja őket magad egyszerűen létrehozva a saját id és attribútumok a elemet. FormPump automatikusan nyomon követi a címkék és bemenetek a sablont, és megpróbálja intelligensen társítani őket egymással, de csak akkor, ha a bemenetek nincsenek id által megadott, és a címkék nem az van megadva.
űrlapok kitöltésére
FormPump kitölti formákat keresi fel megadható értéket kijelölt sablon változó. Az alapérték form_vars, de be lehet állítani beállításával values_dict_name tulajdona kiterjesztést (Jinja2, állítsa ezt a környezetet: env.values_dict_name).
form_vars Egy szótár szótárak. Top szinten gombok formájában összefüggésben azonosítók, részletesebben az alábbiakban. Minden űrlapon az összefüggésben utal egy másik szótárban ami egy egyszerű, kulcsértékpárokat, hogy FormPump használja ki kell keresni értékek formájában. A kulcsokat lásd bemeneti nevet. Az értékek válnak a value attribútum * az input, átalakított unicode.
* Megjegyzés: A bemenetek, mint egy rádiógombot, ahol az értékek előre, FormPump használja form_vars értéket meghatározni, hogy melyik rádió gombot választania, ha van ilyen.
Forma Context
FormPump lehetővé teszi, hogy több mint egy formája a sablon. Minden űrlapon lehet átfedés input nevét. A formák disambiguated amit FormPump kéri formájában összefüggésben. Az előbbi példa egy űrlapot összefüggésben beállítása "példa" - ez a szöveg közvetlenül a formában kulcsszó. A karakterlánc kell egy állandó karaktersorozat, nem változó vagy más dinamikus kifejezést, (van egy út körül ez esik).
Egy egyszerű példa rávilágíthat a használatukról:
& Nbsp;>>> tpl = env.from_string ('' '
... {% Formája "a"%}
... {% Text "inp"%}
... {% Endform%}
... {% Formája "b"%}
... {% Text "inp"%}
... {% Endform%}
... '' ')
& Nbsp;>>> print tpl.render (form_vars = {'a': {"inp ':' A '},' b ': {" inp': 'B'}})

& Nbsp;


& Nbsp;

Forma kontextusban valóban kettős célt szolgálnak. A közös akadályt, amelynek több HTML űrlapok egy oldalon, hogy nehéz lehet meghatározni, milyen formában nyújtották be, ha a két forma azonos action attribútum. Forma kontextusban segíthet.
Az alapértelmezett beállítások, ahogy eddig, hogy nincs közvetlen hatással a kimenetet. Azonban, ha meg a form_name_key ingatlan a hosszabbítást, FormPump automatikusan beilleszti a rejtett input tartalmazó formában összefüggő érték, mint a neve, (a Jinja2, állítsa ezt a környezetet).
& Nbsp;>>> env.form_name_key = '__'
& Nbsp;>>> tpl = env.from_string ('' '
... {% Formája "például"%}
... {% Endform%}
... '' ')
& Nbsp;>>> print tpl.render ()


A benyújtott értéket fel lehet használni, hogy könnyen azonosíthassák a benyújtott formában a szerveren.
De ezt a lehetőséget használja hozza fel további bonyodalmat! Azt mondják, azt akarjuk, hogy az egyik formája többször ismételhető egy oldalon. Minden ismétlése formájában, meg akarjuk változtatni a változókat, amelyek előzőleg. Például, mondjuk van egy lista ember egy vállalatnál, és azt szeretné, hogy képes szerkeszteni, és küldje frissítéseket a telefonszámot mindegyik. Ezért Ön szeretné, hogy ugyanaz formname benyújtott vissza a szerver, de a _different formában összefüggésben, amikor űrlap kitöltésével. Írja be a form_ctx funkció, amely lehetővé teszi, hogy módosítsa a kontextusban, ahol FormPump felnéz értékeket menet közben. A form_ctx funkció lehetővé teszi, hogy rendeljen dinamikus környezetben neveket a formákat, amelyek a formanyomtatványt a funkció nem:
& Nbsp;>>> tpl = env.from_string ('' '
...

    ... {% A személy fő%}
    ...

  • ... {% Formája "személy"%}
    ... {% Form_ctx "személy.% D"% személyt ['id']%}
    ... {% Rejtett "id"%}
    ... {% Label "telefon"%} {{személy ['name']}} {% ENDLABEL%}
    ... {% Text "telefon"%}
    ... {% Endform%}
    ...

  • ... {% Endfor%}
    ...

... '' ')
& Nbsp;>>> emberek = {['id': 1, 'name': 'Bill B. ", a" telefon ":" 555-123-4567 "},
... {"Id": 2, 'name': 'Chris C. ", a" telefon ":" 555-7654-321 "}]
& Nbsp;>>> print tpl.render (ember = ember,
... Form_vars = dict ([("személy.% D '% személyt [' id '], személy) a személy emberek]))

    & Nbsp;

  • & Nbsp;

    & Nbsp;
    & Nbsp;
    & Nbsp;
    & Nbsp;

    & Nbsp;

  • & Nbsp;

  • & Nbsp;

    & Nbsp;
    & Nbsp;
    & Nbsp;
    & Nbsp;

    & Nbsp;

Ha megnézed a fenti, látni fogja a két formák, mind az azonos nevű űrlapokat, de más-más értékeket kitöltve köszönhetően a dinamikus form_ctx. A form_ctx funkció hatására a teljes program, hogy jön utána. Többféle form_ctx a formában, ha azt szeretné, mindegyik megelőzve az előző. Megjegyzendő azonban, hogy ő válhat stilisztikailag zavaró.
Forma hibák
Forma hibák hasonlóan működnek form_vars. Használja a hiba funkciót a sablont, jelezve a hibát kell menni, majd adja form_error a beágyazott szótár szótárak tartalmazó bármely és minden hibaüzenetet szeretnél tenni. Bármilyen hiba, hogy nem talál megfelelő értékben form_error lekérdezésben, kimaradt a végső kimenet.
>>> Tpl = env.from_string ('' '
... {% Formája "például"%}
... {% Error "field_A"%}
... {% Text "field_A"%}
... {% Error "field_B"%}
... {% Text "field_B"%}
... {% Endform%}
... '' ')
>>> Print tpl.render (form_vars = {"példa": {"field_A": "Val A", "field_B": "Val B"}},
... Form_errors = {"példa": {"field_B": "error B"}})

& Nbsp;
& Nbsp;
error B

& Nbsp;

Ne feledjük, hogy minden bemenet, hogy hibát találnak lesz a "hiba" css class szerepel.
Hibaüzenetek alapértelmezés szerint a kimeneten, mint a fenti & ndash; egy div az osztályban "hibakód". Megadhatja a saját hibaüzenetet stílus hozzárendelése funkciók a error_renderers szótárban, majd megadja a megjelenítő attribútumot a sablont: {% error renderer = "egyedi"%}. Alapértelmezésben az összes hibát használja a "default" renderelő amit szabadon módosíthat.

követelmények :

  • Python

Más szoftver fejlesztő Dave Mankoff

htmlmin
htmlmin

12 May 15

Hozzászólások a FormPump

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!