Ce este kview

Kview este un wrapper simplu, dar util pentru sabloanele Kasia.go, care ajuta la modularizarea continutului site-ului web dinamic. Va permite sa descrieti cu usurinta relatia dintre modulele site-ului dvs. web.

Construiti structura serviciului dvs. web

Puteti construi o pagina web din blocuri. Fiecare bloc este asociat cu fisier sablon diferit.

Exemplu:

// Pagini web declarate ca variabile globale var home_view, edit_view kview.View // Creati ierarhia serviciului web func webInit () {// Incarcati aspectul site-ului. layout: = kview.New (“layout.kt”) // Exemplu de layout consta din antet, meniu, doua coloane si subsol. Coloana // din stanga poate contine informatii foarte diferite. Prin urmare, pentru // orice pagina va fi definita de sablonul diferit. // coloana din dreapta arata intotdeauna acelasi tip de informatii, deci va fi definita // o data pentru toate paginile (acelasi lucru se aplica meniului). // Incarcati meniul meniului: = kview.New (“menu.kt”) // Incarcati coloana din dreapta la dreapta: = kview.New (“right.kt”) // Adaugati componente la coloana din dreapta right.Div (” Info “, kview.New (” right / info.kt “)) right.Div (” Commercial “, kview.New (” right / commercial.kt ” )) // Creati prima pagina ca copie de aspect. Este o operare eficienta // (referintele sunt copiate, nu datele in sine). home_view = layout.Copy () // Adauga componente ale paginii home_view.Div (“Meniu”, meniu) home_view.Div (“Stanga”, kview.New (“left / home.kt”, utils)) home_view.Div (” Dreapta “, dreapta) // Creati a doua pagina. edit_view = layout.Copy () edit_view.Div (“Meniu”, meniu) edit_view.Div (“Stanga”, kview.Nou (“left / edit.kt”) edit_view.Div (“Right”, dreapta)}

Structura serviciului este gata. Variabila (optionala) utils utilizata in Div stanga poate contine functiile / variabilele de utilitate:

var utils = map [string] interface {} {“contains”: strings.Contains, “addf”: func (a, b float64) float64 {return a + b}, “pi”: 3.14159,}

Le puteti utiliza in sablonul left / home.kt dupa cum urmeaza:

$ a + $ pi = $ addf (a, pi) $ daca contine (s, “abc”): variabila s contine un sir „abc”. $ else: s nu contine siruri „abc”.

argentina follada travestis dotadas
paginas videos porno gratis lesbianasx
porno español trios cinema gropers
hermanos españoles follando me corro en la boca de mama
porno jovencitas españolas trios gays
xxx orgias coñosxxx
halle berry desnuda corridas en la playa
peliculas eroticas alemanas mamada de rodillas
incesto x mature.com
parejas pilladas en la calle pajas de madres
porno peludas españolas pelis porno francesas
tetonas cubanas escenas porno en cine convencional
comicxxx porno chileno
madura tetona orgias familiares
corridas a chorro mía kalifa
viejas tetonas aventura en pelotas xxx
tetas puntiagudas argentina follada
porno de abuelas desnudas en la cocina
porno flash videdos porno
videos sexo gratis super tetudas

$ sfarsit

Unele functii utile sunt furnizate in mod implicit:

  • len (interface {}) int – returneaza lungimea matricei / feliei sau -1,
  • fmt (sir de format, o … interfata {}) sir – functioneaza ca fmt.Sprintf (de fapt este fmt.Sprintf ),
  • se alature (a] string [, string sep) string – lucrari , cum ar fi strings.Join ,
  • add, sub, mul, div, mod (a, b int) int – operatii aritmetice,
  • si, sau (a, b bool), nu (a bool) bool – operatii logice.

Publicarea serviciului dvs. web

Pentru a publica serviciul creat cu kview puteti utiliza cadrul web.go :

func home (web_ctx * web.Context) {// … // tpl_ctx contine datele necesare pentru afisarea paginii home_view.Exec (web_ctx, tpl_ctx)} func edit (web_ctx * web.Context) {// … edit_view.Exec (web_ctx, tpl_ctx)} func main () {webInit () web.Get (“/”, home) web.Get (“/ edit”, edit) web.Run (“0.0.0.0:80”) }

http pachet:

func home (con http.ResponseWriter, req * http.Request) {// … home_view.Exec (con, tpl_ctx)} func edit (con http.ResponseWriter, req * http.Request) {// … edit_view .Exec (con, tpl_ctx)} func main () {webInit () http.HandleFunc (“/”, home) http.HandleFunc (“/ edit”, edit) // … http.ListenAndServe (“0.0.0.0 : 80 “, zero)}

sau alt cadru disponibil, cum ar fi twister .

In sablon, blocurile imbricate sunt vizibile sub numele pe care le-ati dat. Le puteti reda folosind metoda Render (mai degraba decat metoda imbricata in kasia.go pur ):

<div id = ‘Left’> $ Left.Render (ctx.left) </div> <div id = ‘Right’> $ Right.Render (ctx.right) </div>

Puteti gasi un exemplu de lucru in directorul de exemple . Aceasta aplicatie simpla consta din:

  • trei fisiere cu cod Go ( fisierul chrootuid.go este irelevant pentru consideratiile noastre – contine cod pentru modificarea directorului radacina al aplicatiei si privilegiile sale),
  • arborele sabloanelor (in directorul sabloanelor ),
  • Foaie de stil CSS (in director static ).

Cum se instaleaza si se executa exemplu de aplicatie

Instal web.go:

$ goinstall github.com/hoisie/web.go

Urmatoarea instalare kview :

$ goinstall github.com/ziutek/kview

Aceasta comanda instaleaza implicit si kasia.go.

Apoi puteti construi si rula un exemplu de aplicatie:

$ cd $ GOROOT / src / pkg / github.com / ziutek / kview / examples $ make $ ./simple

Apoi lansati browserul si deschideti adresa URL: http://127.0.0.1:9999

Puteti incerca mai intai acest link, daca doriti sa vedeti un exemplu de aplicatie in actiune.