quixote(parte3)

Come detto nella pagina precedente qui si crea la directory di 1 livello sotto la root dell albero directory dell applicazione.

Infatti dal file precedente uno.ptl avevamo l attributo due che chiamato da un link nella index (_q_index)

istanzia la classe dirc2() che si trova definita in questo file.Istanziandola si crea appunto il livello successivo dell albero directory a cui

agganciare i vari urls presenti nella _q_exports di dirc2() e mappati ai suoi metodi-attributi.

due.ptl

from quixote.directory import Directory, Resolving
#[ la lib. quixote.sendmail la omettiamo ed imortiamo direttamante il modulo SMTP (sotto)]
from smtplib import SMTP
from quixote.util import StaticFile, StaticDirectory


from quixote import *
import os
from media import pr # Per una sottodir per media

class dirc2(Resolving, Directory):


_q_exports = [' ' , 'new_dir', 'file_gif', ('file.css','file_css'), 'cheetah']


#Sotto abbiamo u attributo che richiama attraverso la funzione StaticFile un file immagine

#La stessa cosa si puo fare per altre immagini, css, script ecc.

#Oltre ad un richiamo dinamico come abbiamno visto nella pagina precedente di questa guida

#Da Quixote.Util importiamo anche StaticDirectory (usato per new_dir)

#ATTENZIONE I PERCORSI SONO PER I MIEI FILE VOI DOVETE ADATTARLI


file_gif = StaticFile(“/var/www/html/dir1/quixote/file.gif”,follow_symlinks=1,mime_type=”image/gif”)


new_dir = StaticDirectory(“/var/www/html/dir1/quixote”, list_directory=True)


file_css = StaticFile(“/var/www/html/dir1/quixote/file.css”,follow_symlinks=1,mime_type=”text/css”)


def   _q_index [html] (self):

“””

<link rel=”stylesheet” href=”file.css” type=”text/css” />

<p class=’uno’>
nota come funzionano gli staticfile ed i css(come gli .ico ed altri
headers file)</br>
se in _q_exports mettiamo la stringa ‘file_css’,sotto abbiamo</br>
una chiamata <h5>file_css = StaticFile(‘path’,args**)</h5><p class= ‘uno'</br>
e nel <head> della pagina il link al metodo file_css.
</br>se vogliamo usare la notazione classica file.css( con il punto .che non si puo</br>
usare nei nomi degli attributi python ,altrimenti va in conflitto con la struttura nomi)

,in _q_exports mettiamo</br>:
(‘file.css’,’file_css’) ,cioè mappiamo la funzione ( o metodo)</br>
e sia nel path del metodo che nel link dell header scriviamo </br>
file.css invece di file_css

</p>

<h5>qui sotto visualizziamo l elenco dei file nella directory </h5><br />

<a href=new_dir>crea directory statica</a></br>

<h5>Da questo link ,l esempio Template Cheetah</h5><br />

<a href=cheetah>vai al test con cheetah</a></br>

<h5>Qui invece visualizziamo un immagine attraverso l attributo  settato sopra <br />

il quale adesso vale come un percorso

<img src=file_gif></br>

“””

def _q_lookup(self, component):

return”””


<p>L url %s non esiste !</br>

Molto probabilmente non è presente la stringa</br>

in _q_exports., e nemmeno l attributo </p>

“”” % component



def _q_resolve [html] (self, component):

“”” <h5> Il component %s è presente in _q_export[]< br />

ma non esiste un attributo ( metodo o proprieta)  per <br />

questa classe che si chiami cosi.</h5>

“””   % component

def cheetah(self):

“”” Questo è un esempio di come usare anziche il PTL template,

il piu balsonato Cheetah

“””


from Cheetah.Template import  Template

rap = “””


<html>
<head>
<title>
$title
</title>
</head>
<body>
$content

</body>
</html>


“””


dic = {‘title':’la variabile $title’,’content':’contenuto della </br>\
variabile di template $content’}
t = Template(rap, searchList=[dic])

return t

Parte4

One thought on “quixote(parte3)

Leave a Reply

Your email address will not be published.


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>