Publicações com a etiqueta "apps"

Selecionando por padrão o site corrente num ManyToManyField(Site, ...)

Por semente em 13 Out, 2008 12h58

Quem utiliza a django.contrib.sites do Django pode gostar desta dica.

Para quem não conhece, a aplicação sites permite você compartilhar um model com vários outros sites (ou projetos), podendo ter conteúdos iguais (ou em parte) sem redundância, utilizando uma mesma tabela.

No Django 1.0, quando há apenas uma opção para escolha numa ManyToManyField, ela não é selecionada por padrão quando o campo é obrigatório. Antes da versão 1.0 isso não era problema, mas me incomodava o fato de que quando eu tinha mais de uma entrada no model Site, eu deveria escolher o site ao qual eu estava acessando.

Seria interessante pré-selecionar por padrão o site corrente, quando o mesmo é obrigatório e você está acessando sua interface administrativa.

Quando tentei pela última vez fazer isso não obtive sucesso. A idéia era passar para o parâmetro default do ManyToManyField o valor de Site.objects.get_current(). Sem sucesso, não dei mais atenção a isso, mas com o Django 1.0, a cada vez que iria publicar algo neste blog, por exemplo, eu deveria selecionar o site semente.taurinus.org, mesmo sendo o único, a cada texto publicado.

Como todo bom preguiçoso, isso me frustava pois sempre esquecia de marcar o site para ser publicado, causando um erro de validação. Se isso acontece com você meu amigo, eis a solução:

+    from django.conf import settings
@@
-    publish_on = models.ManyToManyField(Site)
+    publish_on = models.ManyToManyField(Site, default=[settings.SITE_ID])

A solução acima já foi aplicada no Diário, aplicação para blog que este site faz uso.

Django Diário is now compatible with Django 1.0

Por semente em 26 Set, 2008 16h19

Diário weblog application for Django is now compatible with Django 1.0.

After release candidate 1, Diário was broken because of comments refactoring. Apparently, everything works fine.

Special thanks to Rodrigo Pimentel to open an issue for this and for sending patch.

Now is close the eternal issues. :-P

Aplicação comments do Django refatorada

Por semente em 26 Ago, 2008 12h59

Boa notícia para os desenvolvedores Django! Ontem foi feita a refatoração da aplicação bult-in comments do Django (changeset 8557).

Dentre as mudanças, as que mais gostei são:

  • Aquela idéia de FreeComment foi abandonada: agora existe somente um model Comment;
  • foram adicionados os campos email e URL;
  • e agora é documentado!

Detalhes de como atualizar seu código para o novo comments em http://docs.djangoproject.com/en/dev/ref/contrib/comments/upgrade/.

Se ainda não gosta desta aplicação, existe uma alternativa com suporte a threads: é o django-threadedcomments.

Lista de discussão Django Apps

Por semente em 31 Jul, 2008 11h01

O Michael Elsdörfer criou a lista de discussão Django Apps. A idéia é utilizar a lista para suas próprias aplicações Django e isso possui, no mínimo, duas grandes vantagens:

  1. Se faz desnecessário a criação de uma lista de discussão para cada nova aplicação;
  2. Existe uma potencial possibilidade de outras pessoas, não necessariamente usuárias de suas aplicações, participarem das discussões com ótimas opiniões.

Eu não iria criar listas de discussões para minhas aplicações, uma vez que o número de discussões tenderia à zero e seria uma tarefa chata, mas, com isso, as aplicações Diário, Fleshin e Tube ganharam um local para discussão!

Então, quando precisar, já sabe onde pode discutir algo a respeito das aplicações citadas acima. Já adicionei o grupo de discussão nas páginas dos meus projetos no Google Code. Utilize o prefixo [diario], [fleshin] e [tube] no assunto das mensagens, como descrito na página inicial do grupo:

All messages should be prefixed with the application name in brackets. If the application name itself has the popular django prefix, it should be left off. E.g. use [tables] for django-tables.