FormPump

Screenshot Λογισμικό:
FormPump
Στοιχεία Λογισμικού:
Εκδοχή: 0.1.7
Ανεβάστε ημερομηνία: 20 Feb 15
Προγραμματιστής: Dave Mankoff
Άδεια: Δωρεάν
Δημοτικότητα: 5

Rating: nan/5 (Total Votes: 0)

FormPump είναι ένα εργαλείο Python που ενσωματώνει με δημοφιλείς μηχανές υφής, επιτρέποντάς σας να συμπληρώσετε καθαρά στις φόρμες.
Η FormPump είναι μια συλλογή από Python επεκτάσεις κινητήρα πρότυπο γραμμένο για να κάνουν HTML μορφές πολύ πιο εύκολο να εργαστεί με. Ασχολείται άμεσα τα προβλήματα που σχετίζονται με την πλήρωση των τιμών σε εισόδους σας, εφαρμόζοντας ετικέτες στις εισόδους σας και εμφανίζει μηνύματα λάθους σε ένα γρήγορο τρόπο. Αυτό επιτυγχάνεται με τη θέσπιση ενός συνόλου ετικετών / λειτουργίες στο πρότυπο που δημιουργούν έντυπα στοιχεία σε ένα διαισθητικό και φυσικό τρόπο που είναι γρήγορος για να προσαρμοστούν στον υπάρχοντα κώδικα.
Προς το παρόν, FormPump υποστηρίζει Jinja2.
Εισαγωγικό [Jinja2] Παράδειγμα
(Τα παραδείγματα που εμφανίζονται σε αυτό README φαίνεται στο Jinja2. Άλλες γλώσσες προτυποποίησης θα έχουν παρόμοια χρήση.)
>>> Από formpump JinjaPump εισαγωγής
>>> Από jinja2 εισαγωγή Περιβάλλον
>>> Env = Περιβάλλοντος (επεκτάσεις = [JinjaPump])
>>> ΊρΙ = env.from_string ('' '
... {Έντυπο% "παράδειγμα" class = "απλή μορφή"%}
... {% Ετικέτα "inp '} Πληκτρολογήστε μια τιμή: {%} endlabel%
... {% Κειμένου "ΕΙΑ"%}
... {%} Endform%
... '' ')
>>> Tpl.render εκτύπωσης ()


& Nbsp?
& Nbsp?

& Nbsp?>>> Tpl.render εκτύπωσης (form_vars = {«παράδειγμα»: {«ΕΙΑ»: 123}})

& Nbsp?
& Nbsp?

Στο παραπάνω παράδειγμα, βλέπουμε ένα απλό αντικείμενο εκμαγείο που δημιουργείται το οποίο περιέχει μία μορφή. Όταν καθίσταται χωρίς επιχειρήματα, εκτυπώνει απλά τη φόρμα με καμία πληροφορία συμπληρώνεται. Όταν οι ειδικοί "form_vars" dict παρέχεται, γεμίζει οποιεσδήποτε τιμές που μπορείτε να βρείτε στη φόρμα καθώς αυτό δημιουργεί.
Μπορείτε επίσης να παρατηρήσετε τις μεγάλες, άσχημο χαρακτηριστικά ID που τέθηκαν. Αυτά είναι απαραίτητα ώστε FormPump μπορεί να συνδέσει τις ετικέτες με εισόδους? FormPump τους καθιστά ως πηγαίνει. Είστε ελεύθεροι να τις παρακάμψετε τον εαυτό σας από την απλή παροχή το δικό σας όνομα και για τα χαρακτηριστικά για τα στοιχεία σας. FormPump εντοπίζει αυτόματα τις ετικέτες και τις εισόδους στο πρότυπο και επιχειρεί να συνδέσει τα έξυπνα με το ένα το άλλο, αλλά μόνο όταν οι είσοδοι δεν έχουν ταυτότητα που καθορίζονται, και οι ετικέτες δεν έχουν για το οποίο καθορίζεται.
Συμπλήρωση Aιτήσεων
FormPump γεμίζει σε μορφές αναζητώντας τιμές εισόδου σε καθορισμένο μεταβλητό πρότυπο. Αυτή η μεταβλητή προεπιλογή form_vars αλλά μπορεί να διαμορφωθεί ορίζοντας την ιδιότητα values_dict_name της επέκτασης (για Jinja2, που αυτό για το περιβάλλον: env.values_dict_name).
form_vars είναι ένα λεξικό των λεξικών. Κορυφαία πλήκτρα επίπεδο είναι τα αναγνωριστικά πλαισίου μορφή, εξηγείται με περισσότερες λεπτομέρειες παρακάτω. Κάθε πλαίσιο μορφή παραπέμπει σε άλλο λεξικό το οποίο είναι ένα απλό σύνολο από ζεύγη κλειδιών-τιμών που χρησιμοποιεί FormPump για την αναζήτηση τιμές για τη μορφή. Τα πλήκτρα αναφέρονται στο όνομα εισόδου. Οι τιμές είναι και το χαρακτηριστικό αξία * για την είσοδο, μετατρέπονται σε Unicode.
* Σημείωση: Για τις εισροές όπως ένα κουμπί επιλογής, όπου οι τιμές είναι προκαθορισμένες, FormPump χρησιμοποιεί την τιμή form_vars να καθορίσει ποια κουμπί για να προεπιλέξει, αν υπάρχουν.
Πλαίσιο φόρμας
FormPump σας επιτρέπει να έχετε περισσότερες από μία μορφή του προτύπου σας. Κάθε μορφή μπορεί να έχουν επικαλυπτόμενες ονόματα εισόδου. Οι μορφές αποκρυστάλλωσε από ό, τι FormPump καλεί το πλαίσιο φόρμα. Το παραπάνω παράδειγμα δείχνει ένα πλαίσιο μορφής οριστεί σε "παράδειγμα" - είναι η σειρά αμέσως μετά τη λέξη-κλειδί φόρμα. Η σειρά πρέπει να είναι μια σταθερή σειρά, όχι μια μεταβλητή ή άλλη δυναμική έκφραση, (υπάρχει ένας τρόπος γύρω από αυτό καλύπτεται παρακάτω).
Ένα απλό παράδειγμα θα πρέπει να αποσαφηνίσει τη χρήση τους:
& Nbsp?>>> ΊρΙ = env.from_string ('' '
... {% Έντυπο "Α"%}
... {% Κειμένου "ΕΙΑ"%}
... {%} Endform%
... {Έντυπο% "β"%}
... {% Κειμένου "ΕΙΑ"%}
... {%} Endform%
... '' ')
& Nbsp?>>> Tpl.render εκτύπωσης (form_vars = {«α»: {«ΕΙΑ»: «Α»}, 'b': {«ΕΙΑ»: «Β '}})

& Nbsp?


& Nbsp?

Φόρμα πλαίσια εξυπηρετούν στην πραγματικότητα ένα διπλό σκοπό. Ένα κοινό εμπόδιο με έχει πολλαπλές μορφές HTML σε μια ενιαία σελίδα είναι ότι μπορεί να είναι δύσκολο να καθοριστεί ποια μορφή υποβλήθηκε εάν και οι δύο μορφές έχουν την ίδια ιδιότητα δράση. Περιβάλλοντα μορφή μπορεί να βοηθήσει.
Με τις προεπιλεγμένες ρυθμίσεις, όπως φαίνεται μέχρι στιγμής, δεν έχουν καμία άμεση επίδραση στην παραγωγή. Ωστόσο, αν ορίσετε την ιδιότητα form_name_key για την επέκταση, FormPump θα εισάγει αυτόματα ένα κρυφό εισόδου που περιλαμβάνει το έντυπο πλαίσιο αξίας όπως το όνομά του, (για Jinja2, που αυτό για το περιβάλλον).
& Nbsp?>>> Env.form_name_key = "__"
& Nbsp?>>> ΊρΙ = env.from_string ('' '
... {Έντυπο% "παράδειγμα"%}
... {%} Endform%
... '' ')
& Nbsp?>>> Tpl.render print ()


Η υποβληθεί αξία μπορεί στη συνέχεια να χρησιμοποιηθεί για να εντοπίσει εύκολα την αποστολή της φόρμας στο διακομιστή.
Αλλά, χρησιμοποιώντας αυτό το χαρακτηριστικό φέρνει ένα ακόμα επιπλοκή! Λέμε ότι θέλουμε να έχουμε μια μορφή επαναληφθεί πολλές φορές σε μία μόνο σελίδα. Με κάθε επανάληψη του μορφή, θέλουμε να αλλάξουμε τις μεταβλητές που προπληρώνεται. Για παράδειγμα, ας υποθέσουμε ότι έχετε μια λίστα των ανθρώπων σε μια εταιρεία, και θέλετε να είστε σε θέση να επεξεργαστείτε και να υποβάλλουν επικαιροποιήσεις στον αριθμό τηλεφώνου για κάθε μία. Μπορείτε, επομένως, θέλουμε το ίδιο FormName υποβληθεί πίσω στο διακομιστή, αλλά ένα πλαίσιο φόρμα _different κατά τη συμπλήρωση του εντύπου. Εισάγετε τον form_ctx λειτουργία, η οποία σας επιτρέπει να αλλάξετε το πλαίσιο όπου FormPump αναζητά τιμές από on the fly. Η λειτουργία form_ctx σας επιτρέπει επίσης να ορίσετε δυναμικά ονόματα πλαίσιο για τις φόρμες σας, τα οποία η βασική λειτουργία της φόρμας δεν κάνει:
& Nbsp?>>> ΊρΙ = env.from_string ('' '
...

    ... {% Για άτομο σε άτομα%}
    ...

  • ... {Έντυπο% "πρόσωπο"%}
    ... {% Form_ctx "πρόσωπο.% D"% προσώπου ['id']%}
    ... {% Κρυφό "id"%}
    ... {% Ετικέτα "τηλέφωνο"%} {{πρόσωπο ['όνομα']}} {%} endlabel%
    ... {% Κειμένου "τηλέφωνο"%}
    ... {%} Endform%
    ...

  • ... {%} EndFor%
    ...

... '' ')
& Nbsp?>>> Άνθρωποι = [{"id": 1, «όνομα»: «Μπιλ Β», «τηλέφωνο»: «555-123-4567 '},
... {"Id": 2, «όνομα»: «Ο Chris Γ», «τηλέφωνο»: «555-7654-321 '}]
& Nbsp?>>> Tpl.render εκτύπωσης (= οι άνθρωποι οι άνθρωποι,
... Form_vars = dict ([('άτομο.% D' άτομο% ['id'], πρόσωπο) για πρόσωπο στους ανθρώπους]))

    & Nbsp?

  • & Nbsp?

    & Nbsp?
    & Nbsp?
    & Nbsp?
    & Nbsp?

    & Nbsp?

  • & Nbsp?

  • & Nbsp?

    & Nbsp?
    & Nbsp?
    & Nbsp?
    & 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": "Val Α", "field_B": "Val Β"}},
... Form_errors = {"παράδειγμα": {"field_B": "σφάλμα Β"}})

& Nbsp?
& Nbsp?
λάθους Β

& Nbsp?

Σημειώστε επίσης ότι τυχόν εισροές που βρείτε κάποιο λάθος θα έχουν την κατηγορία "σφάλμα" CSS προστεθούν σε αυτά.
Μηνύματα λάθους από προεπιλογή είναι εξόδου, όπως παραπάνω & mdash? σε ένα div με την κατηγορία «σφάλμα-μήνυμα". Μπορείτε να ορίσετε τη δική σας σφάλμα στυλ μήνυμα με την ανάθεση λειτουργιών σε error_renderers λεξικό του και, στη συνέχεια, καθορίζοντας το χαρακτηριστικό renderer στο πρότυπο: {renderer% σφάλμα = "έθιμο"%}. . Από προεπιλογή, όλα τα σφάλματα χρησιμοποιούν το "default" renderer που είστε ελεύθεροι να παρακάμψετε

Απαιτήσεις :

  • Python

Άλλο λογισμικό του προγραμματιστή Dave Mankoff

htmlmin
htmlmin

12 May 15

plocal
plocal

11 May 15

Σχόλια για FormPump

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!