Primeiro baixe e instale o Cheetah, conforme instruções contidas no site.
O arquivo views.py.
Pronto o RDF foi gerado.from Cheetah.Template import Template
rdf = 'entidades.rdf'
vm = 'templates/cheetah/entidades.vm'
def index(request):
cria_rdf( rdf, Entidades¹, 'fantasia'¹, vm)
return HttpResponse(template.render(dict()), \
mimetype=awlib.tipoXUL)
def cria_rdf( RDF, MODULO, MODULO_FIELD, CHEETAH):
# aqui fica o caminho e o nome do arquivo RDF que será gerado.
arq = 'caminho/' + RDF
# aqui nos pegamos os dados do banco.
lista = MODULO.objects.all().order_by(MODULO_FIELD)
# aqui nos pegamos o arquivo template do Cheetah³.
t = Template(file=CHEETAH)
# aqui nos colocamos os dados do Models na variavél do template.
t.list = lista
# abre o arquivo RDF.
out = open(arq, 'w')
# grava os dados da lista.
out.write(str(t))
# fecha o arquivo.
out.close()
¹ Nome da class definida no arquivo models.py.
² Nome do campo que você quer classificar sua lista.
³ Agora vamos ver o Template RDF como fica:
Quem está acostumado com o Velocity não vai sentir muita diferença.<?xml version="1.0" encoding="ISO-8859-1"?>
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:TABELA="http://www.algoritmoweb.com.br/rdf#">
<RDF:Bag RDF:about="urn:tabela">
#for $item in $list
<RDF:li>
<RDF:Description>
<TABELA:id>$item.id</TABELA:id>
<TABELA:nome>$item.nome</TABELA:nome>
<TABELA:fantasia>$item.fantasia</TABELA:fantasia>
</RDF:Description>
</RDF:li>
#end for
</RDF:Bag>
</RDF:RDF>
Espero ter ajudado.
Orlando
Nenhum comentário:
Postar um comentário