FormPump

Programinė įranga Screenshot:
FormPump
Programinė detalės:
Versija: 0.1.7
Įkėlimo datą: 20 Feb 15
Kūrėjas: Dave Mankoff
Licencija: Nemokamai
Populiarumas: 5

Rating: nan/5 (Total Votes: 0)

FormPump yra Python įrankis, kuris sujungia su populiariausių šablonų sistemų, kad būtų galima švariai užpildyti HTML formas.
FormPump yra Python template engine pratęsimų rašytiniuose padaryti HTML formas daug lengviau dirbti su kolekcija. Tai tiesiogiai sprendžia problemas, susijusias su pildymo vertybes į savo sąnaudas, taikant etiketes jūsų įėjimai ir rodyti pranešimus apie klaidas į greitas būdas. Jis tai daro įvedant Žymos / funkcijų rinkinį į savo šabloną, kad kurti formas elementus intuityvi ir natūraliu būdu, kuris yra greitai prisitaikyti į esamą kodą.
Šiuo metu FormPump palaiko Jinja2.
Įvadinė [Jinja2] Pavyzdys
(Pavyzdžiai parodyta šio README rodomi Jinja2. Kitos šablonų kalbos turės panašų naudojimas.)
>>> Iš formpump importo JinjaPump
>>> Iš jinja2 importo Aplinkos
>>> Env = Aplinka (plėtiniai = [JinjaPump])
>>> TPL = env.from_string ('' '
... {% Forma "pavyzdys" class = "paprastas formos"%}
... {% Etiketė "INP"} Įveskite vertę: {% endlabel%}
... {% Tekstas "INP"%}
... {% ENDFORM%}
... '' '),
>>> Print tpl.render ()

& Nbsp; Įveskite reikšmę:
& Nbsp;

& Nbsp;>> spausdinimo tpl.render (form_vars = {"pavyzdys": {"INP": 123}})

& Nbsp; Įveskite reikšmę:
& Nbsp;

Į anksčiau pateiktame pavyzdyje, matome paprasta šablonas objektas kuriamas, kad yra vienas formą. Kai teikiamos be jokių argumentų, tai tiesiog spausdina formą su jokios informacijos užpildyti. Kai specialios "form_vars" dict yra pateikiama, užpildo visus vertybes jis gali rasti į formą, nes ji sukuria ją.
Jūs taip pat galite pastebėti, ilgas, negraži id atributus, kurie buvo nustatyti. Tai reikalinga tam, kad FormPump gali susieti etiketes su sąnaudų; FormPump daro juos, kaip jis eina. Jūs galite nepaisyti patys tiesiog teikti savo ID ir atributai Jūsų elementų. FormPump automatiškai stebi etikečių ir žaliavų šabloną ir bando protingai juos susieti vienas su kitu, bet tik tada, kai įėjimai neturi id nurodo ir etiketės neturi už nurodo.
Blankų pildymas
FormPump užpildo formas, žiūrėdamas iki įvesties reikšmes paskirtą šablonų kintamąjį. Šis kintamasis nutylėjimą form_vars bet gali būti konfigūruojamas, nustatydami values_dict_name turtą pratęsimo (už Jinja2, nustatykite šią aplinkai: env.values_dict_name).
form_vars yra žodynų žodynas. Aukščiausio lygio klavišai yra forma kontekstas identifikatoriai, išsamiau paaiškinta toliau. Kiekviena forma kontekstas nurodo kitą žodyną, kuris yra paprastas rinkinys raktas vertės poromis, kad FormPump naudoja peržvalgos reikšmes formą. Raktai kreiptis į įvesties pavadinimą. Vertybės yra tapti vertė atributas * už indėlį, konvertuojami į unicode.
* Pastaba: Dėl sąnaudų, pavyzdžiui, radijo mygtuką, kur vertybės anksto, FormPump naudoja form_vars vertę nustatyti, kuri radijo mygtuką, norėdami parinkti, jei tokių yra.
Forma Kontekstas s
FormPump leidžia jums turėti daugiau nei vieną formą į savo šabloną. Kiekviena forma gali turėti sutampančios įvesties pavadinimus. Formos disambiguated ką FormPump ragina forma kontekstas. Aukščiau pateiktame pavyzdyje parodytas formos kontekstą nustatyta "Pavyzdžiui," - tai eilutė iš karto po forma raktinį žodį. Eilutė turi būti pastovus eilutė, ne kintamasis arba kitas dinaminis išraiška, (yra aplink šis būdas apima žemiau).
Paprastas pavyzdys turėtų patikslinti jų naudojimą:
& Nbsp;>> TPL = env.from_string ('' '
... {% Forma ""%}
... {% Tekstas "INP"%}
... {% ENDFORM%}
... {% Forma "b"%}
... {% Tekstas "INP"%}
... {% ENDFORM%}
... '' '),
& Nbsp;>> spausdinimo tpl.render (form_vars = {"" {"INP": ""}, "b": {"INP": "B"}})

& Nbsp;


& Nbsp;

Forma kontekstai iš tikrųjų tarnauja dvejopą tikslą. Bendras kliūtis su turintys kelis HTML formas viename puslapyje yra tai, kad gali būti sunku nustatyti, kokia forma buvo pateikta, jei abi formos turi tą patį veiksmų atributas. Forma kontekstai gali padėti.
Su numatytuosius parametrus, kaip parodyta iki šiol, jie neturi tiesioginio poveikio produkcijos. Tačiau, jei jūs nustatote form_name_key turtą ant pratęsimo, FormPump automatiškai įterpti paslėptą įvestį, kuriame formą konteksto reikšmę, kaip jos pavadinimas, (už Jinja2, šiai aplinkai).
& Nbsp;>> env.form_name_key = '__'
& Nbsp;>> TPL = env.from_string ('' '
... {% Forma "pavyzdys"%}
... {% ENDFORM%}
... '' '),
& Nbsp;>> spausdinimo tpl.render ()


Pateikta vertė po to gali būti naudojami lengvai identifikuoti pateiktą formą serveryje.
Tačiau, naudoti šią funkciją, iškelia dar vieną komplikacija! Pasakykite norime turėti vieną formą kartojamas kelis kartus viename puslapyje. Su kiekvienu formos pakartojimas, mes norime pakeisti kintamuosius, kurie yra užpildytas. Pavyzdžiui, tarkime, jūs turite žmonių sąrašą įmonėje, ir norite, kad būtų galima redaguoti ir pateikti atnaujinimus telefono numerį kiekvieną iš jų. Todėl jūs norite to paties formname pateiktą atgal į serverį, tačiau _different forma kontekstą pildant formą. Įveskite form_ctx funkciją, kuri leidžia jums pakeisti kontekstą, kur FormPump atrodo iki vertes skristi. Form_ctx funkcija taip pat leidžia jums priskirti dinaminius konteksto vardus savo formomis, kurios standartinė forma funkcija neveikia:
& Nbsp;>> TPL = env.from_string ('' '
...


    ... {% Už asmens žmonės%}
    ...

  • ... {% Forma "asmuo"%}
    ... {% Form_ctx "asmuo.% D"% asmuo ['id']%}
    ... {% Paslėptas "id"%}
    ... {% Etiketė "telefonas"%} {{asmuo ['vardas']}} {% endlabel%}
    ... {% Tekstas "telefonas"%}
    ... {% ENDFORM%}
    ...

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

... '' '),
& Nbsp;>> žmonės = [{"id": 1, "pavadinimas": "Bill B", "telefonas": "555-123-4567"},
... {"Id": 2 ", pavadinimas": "Chrisas C.", "telefonas": "555-7654-321"}]
& Nbsp;>> spausdinimo tpl.render (žmonės = žmonės,
... Form_vars = dict ([("asmuo.% D"% asmuo ['id'], asmuo) dėl asmens žmonių]))

    & Nbsp;

  • & Nbsp;
    & Nbsp;
    & Nbsp; Bill B
    & Nbsp;
    & Nbsp;
    & Nbsp;

  • & Nbsp;

  • & Nbsp;
    & Nbsp;
    & Nbsp; Chris C.
    & Nbsp;
    & Nbsp;
    & Nbsp;

Jei jums atrodo, kas išdėstyta pirmiau, pamatysite dvi formas, tiek su pačia forma pavadinimu, bet su skirtingomis vertybėmis užpildė dėka dinaminės form_ctx. Form_ctx funkcija veikia visus įėjimus, kurie ateina po jo. Galite nurodyti kelis form_ctx ųjų forma, jei norite, kiekvienas iš anksto nenuspėjami ankstesnę. Tačiau atkreipkite dėmesį, kad jo gali būti stilistiškai paini.
Formos Klaidos
Forma klaidų dirbti panašiai kaip form_vars. Jūs naudojate klaidos funkciją savo šabloną nurodyti, kai klaidos turėtų eiti, ir tada nurodykite form_error kaip lizdinė žodyną žodynų, kuriuose bet ir visų klaidų pranešimus norėtumėte įdėti. Bet klaida, kad neranda atitinkamą vertę form_error peržvalgos bus palikta iš galutinės produkcijos.
>>> TPL = env.from_string ('' '
... {% Forma "pavyzdys"%}
... {% Paklaida "field_A"%}
... {% Tekstas "field_A"%}
... {% Paklaida "field_B"%}
... {% Tekstas "field_B"%}
... {% ENDFORM%}
... '' '),
>>> Print tpl.render (form_vars = {"pavyzdys": {"field_A": "Val", "field_B": "Val B}},
... Form_errors = {"pavyzdys": {"field_B": "Klaida B}})

& Nbsp;
& Nbsp;
klaida B

& Nbsp;

Taip pat atkreipkite dėmesį, kad bet kokie įėjimai kad rasti klaidą turės "klaida" css klasę pridėtinę jiems.
Klaidų pranešimai pagal nutylėjimą yra išėjimas kaip anksčiau & mdash; į div su klasės "klaidos pranešimą". Galite nurodyti savo klaidos pranešimą stilių priskiriant funkcijas savo error_renderers žodyną ir tada nurodant transliatorių atributas šabloną: {% paklaida transliatorių = "Custom"%}. . Pagal nutylėjimą, visos klaidos naudoti "pagal nutylėjimą" atvaizdavimo kurioje esate laisvai nepaisyti

Reikalavimai :

  • Python

Kita programinė įranga kūrėjas Dave Mankoff

htmlmin
htmlmin

12 May 15

Komentarai FormPump

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!