by Stiod Desenvolvimento Web
Assine nosso RSS
No Gravatar

Criamos uma página para o projeto Djapian.

\o/

Djapian - Search API for Django with Xapian

Para quem não conhece, o Djapian, é um aplicativo que você pode incorporar à sua própria solução afim de permitir buscas nos textos, essencial em aplicativos como: Wiki, Blog, CMS e todo tipo de projeto que envolva colaboração de usuários em informação.

Acesse esse post para ver um artigo completo sobre o Djapian.

No Gravatar

Já percebemos que o mercado exige que as novas interfaces alcancem níveis de usabilidade ainda maiores, e a interface com o usuário seja a mais agradável possível, com efeitos de navegação, crossbrowser, folksonômica, microformatada e assim vai.

Recentemente, em um cliente, tive que utilizar o framework javascript Extjs pra constuir uma interface no famoso estilo web 2.0 , com vários efeitos de navegação(Drag 'n Drop, Fade, Slides) e como não a conhecia tive que entrar em debugLearning mode on.

Extjs já está na sua versão 2.2 e não me aprofundei nos conhecimentos das versões anteriores e nesse post quero ser mais objetivo e pouco introdutório nos seus conceitos e ir por as mãos na massa.

Você pode começar baixando o código fonte com exemplos e documentação que estão em http://www.extjs.com/download e aconselho também a baixar a documentação que esta em arquivo de AdobeAir.

Pra prática logo né ?!

Você já deve conhecer o getElementById, o getElementsByTagName e um monte de outras propriedades em javascript.

Segue alguns Exemplos de como funciona no ExtJs:

- document.getElementsById("id") = ExtJs fica Ext.get("id")
- document.getElementsByTagName("tag") =  Ext.select("tag")
- Recuperar todos os elementos com a classe "red-link" = Ext.select(".red-link")
- Todos os DIVs com a classe "box" =  Ext.select("div .box")
- Centralizar um objeto no centro da tela = Ext.get("obj").center()
- E NÃO É SÓ ISSO! [Polishop Rules]

Pra quem conhece frameworks javascript já nota a semelhança com Jquery, Prototype e outras similares.

Mas o ponto forte do ExtJs são os seus widgets pra montar Panels, Grids, MsgBoxes, Drag'n Drop e muitos outros objetos e efeitos de navegação que tanto enchem os olhos do usuário final.

A seguir estarei publicando mais textos sobre as funcionalidades, dicas e algumas outras coisas que acredito serem interessantes sobre esse framework.

That's not all folks.

See you in a while!

Mudar o nome da aplicação no admin do Django

Rafael SDM Sierra
No Gravatar

Atenção! Pode conter links inúteis

É incrivel, passei meus ultimos um ano e meio trabalhando em empresas de terceiros, porém, eu não sentia aquele prazer que só um verdadeiro programador sente ao programar.

Mãs! Tudo mudou quando decidimos (eu e mais 4 socios) que era hora de tocar a empresa seriamente, então eu sai da empresa onde trabalhava e segui viagem para minha própria empresa.

Bom, enrolei muito já, vamos ao que interessa.

Você já deve ter se revoltado com o Django, mais precisamente com o aplicativo Admin, quando você era obrigado a aceitar uma versão capitalizada (no sentido da primeira-letra-maiúscula, e não financeiro) do nome do seu aplicativo na tela inicial da administração.

Porém, agora sei que é possivel modificar esse nome que fica com fundo azul, tudo graças a uma introspecção no código do Django, algo que eu dificilmente faria trabalhando para terceiros (esse foi o motivo de eu ter escrito aquelas abobrinhas ali em cima :P), e ao que tudo indica, essa "funcionalidade", não está documentada (pelo menos não foi fácil encontrar informações sobre isso, tanto que devo um link aqui).

Pra resolver esse problema é simples, basta editar o model desejado e adicionar dentro da classe Meta um atributo chamado "app_label" (repare que ele não se encontra na documentação), e com isso o model será agrupado no nome que você der para ele, o interessante, é que você pode agrupar varios aplicativos dentro de uma só tabela, desde que todos os models tenham o mesmo nome no app_label.

Mas o mais bizarro mesmo, é que você pode modificar o app_label de outros aplicativos que não fazem parte do seu projeto, por exemplo, ao adicionar as seguintes linhas em algum model.py seu:

  1.  
  2. from django.contrib.auth.models import User
  3. User._meta.app_label = "AWAAAY"
  4.  

Você vai jogar o modelo User pra dentro da tabela AWAAAAY.

Só gostaria de deixar claro que usar essa "funcionalidade" (não sei se isso seria realmente uma funcionalidade, já que não está documentada) pode resultar em comportamentos adversos (do projeto, não seus), uma vez que eu não estudei completamente o código-fonte do Django pra saber até onde vão os efeitos desse atributo.

So, have fun with moderation.

Em tempo: Estou com o Django-1.0
Nota de copyright: A imagem que utilizei aqui pertence ao site http://djangoproject.com

Django com WSGI

Ricardo Perez
No Gravatar

Para quem usa o mod_python para servir suas aplicações em Django e esta insatisfeito ou teve algum problemas com o mesmo. Pois é, eu mesmo tive um baita problemão com o mod_python e precisava de solução urgente, que fosse rápida e fácil de configurar, uma ótima alternativa que eu encontrei foi o mod_wsgi (http://code.google.com/p/modwsgi/), logo de inicio verifiquei que num servidor de alto acesso de usuários a diferença de performance foi visivelmente absurda, hoje em dia só uso o mod_wsgi.Não vou abranger instalação do mod_wsgi mas somente a configuração do Apache e do arquivo wsgi

No seu arquivo de configurção do apache

  1.  
  2. WSGIDaemonProcess user processes=2 maximum-requests=500 threads=1
  3. WSGIProcessGroup usergroup
  4. WSGIScriptAlias / /path/para/aplicacao # sabendo que é a pasta onde fica a aplicação e não ela
  5. Alias /public /path/para/aplicacao/app/public/
  6.  

crie um arquivo na pasta da sua aplicação com o nome app.wsgi

  1.  
  2. import os, sys
  3. sys.path.append('/path/para/aplicacao/')
  4. os.environ['DJANGO_SETTINGS_MODULE'] = 'app.settings'
  5. import django.core.handlers.wsgi
  6. application = django.core.handlers.wsgi.WSGIHandler()
  7.  

Maiores Informações: http://code.google.com/p/modwsgi/ e
http://code.google.com/p/modwsgi/wiki/InstallationInstructions

Referência:
http://ericholscher.com/blog/2008/jul/8/setting-django-and-mod_wsgi/