Publicações com a etiqueta "django"
Tema do Django para GNOME
Eu utilizo no meu GNOME o tema Clearlooks acho que desde que ele foi lançado. Tentei utilizar outros, mas nunca me acostumei.
Depois que o grande pixel-artista Jader Rubini, fez um lindo fundo de tela para a comunidade Django Brasil, eu dei uma uma pequena personalizada no Clearlooks e o chamei de Django. E por que não? Tem as mesmas cores comumente utilizadas pelo Projeto Django.
Eu achei que o conjunto (fundo de tela, clearlooks e cores) ficou bonito e agradável. Dê uma olhada:
Minha área de trabalho.
Se gostou também, você pode obtê-los nos links abaixo:
- Tema: django-gnome-theme.tar.gz
- Fundo de tela: DjangoBrasil_Wallpapers_by_jaderubini.zip
Lista de discussão Django Apps
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:
- Se faz desnecessário a criação de uma lista de discussão para cada nova aplicação;
- 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.
Legibilidade e reaproveitamento de código na "URLConf"
É comum nas configurações de URL (URLconf) [1] do Django, patterns como este abaixo:
urlpatterns = patterns(
'django.views.generic.date_based',
(r'^(?P<year>\d{4})/(?P<month>[0-9]{2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$',
'object_detail', dict(info_dict, slug_field='slug', month_format='%m')),
(r'^(?P<year>\d{4})/(?P<month>[0-9]{2})/(?P<day>\d{1,2})/$',
'archive_day', dict(info_dict, month_format='%m')),
(r'^(?P<year>\d{4})/(?P<month>[0-9]{2})/$',
'archive_month', dict(info_dict, month_format='%m')),
(r'^(?P<year>\d{4})/$', 'archive_year', info_dict),
(r'^/?$', 'archive_index', dict(info_dict, num_latest=5)),
)
Apesar da modificação nas URLs serem raras, a legibilidade da forma acima, queira ou não, prejudica numa eventual manutenção e a probabilidade de ocorrer um erro aumenta.
Uma solução que ao meu ver facilita muito a leitura seria utilizando a função url(), como no código abaixo, retirado do django-fleshin:
photo_detail = url(
regex = '^(?P<album>[-\w]+)/(?P<slug>[-\w]+)/$',
view = 'fleshin.views.photo_detail',
kwargs = dict(photo_info_dict, slug_field='slug'),
name = 'fleshin-photo'
)
photo_list = url( # all photos + album list
regex = '^$',
view = 'django.views.generic.list_detail.object_list',
kwargs = dict(photo_info_dict, paginate_by=FLESHIN_NUM_LATEST,
extra_context={'album_list': Album.objects.all}),
name = 'fleshin-photo-list'
)
photo_album_list = url( # only photos in ``album``
regex = '^(?P<album>[-\w]+)/$',
view = 'fleshin.views.photo_list',
kwargs = dict(photo_info_dict, paginate_by=FLESHIN_NUM_LATEST),
name = 'fleshin-photo-album-list'
)
urlpatterns = patterns('', photo_detail, photo_list, photo_album_list)
Perceba também que a forma acima facilita a reutilização dos patterns pelo seu projeto, não ficando preso ao que foi definido no django-fleshin, reaproveitando, por exemplo, o mesmo padrão de URL para o detalhamento de uma Photo (photo_detail) e alterando o padrão para a listagem das mesmas (photo_list e photo_album_list).
| [1] | Geralmente encontrado em um arquivo de nome urls.py. |
Código do site disponível para baixar
Como prometido anteriormente, o acesso à leitura no sistema de controle de versões deste website foi liberado. Isso quer dizer que agora é possível baixá-lo. Para tal, você precisará do Bazaar instalado (provavelmente existe um pacote para seu sistema, verifique na página de download do mesmo).
O site foi escrito em Python utilizando o framework de desenvolvimento web Django, portando será necessário tê-lo instalado também para caso queira testá-lo em seu computador. Siga as instruções no Guia de Instalação. Caso ainda não conheça o Django, talvez seja interessante o estudo de sua documentação para entendimento do código.
Baixando
Para obter o código do site, utilize a ferramenta de linha de comando bzr:
bzr branch http://code.taurinus.org/sementeproject/mainline/ sementeproject
O código em http://code.taurinus.org/ está sendo disponibilizado em um "dumb server", então não espere por uma boa performance.
Executando
Antes de mais nada, você precisará também dos seguintes pacotes instalados em seu PYTHONPATH:
Será necessário também o uso da biblioteca CSS libcss-taurinus, seus arquivos deverão estar em media/css/lib/. Experimente fazer assim:
bzr export http://code.taurinus.org/libcss-taurinus/mainline/ sementeproject/media/css/lib/
Enfim, para rodar o projeto localmente, execute o seguinte comando:
sementeproject/sementeproject/manage.py runserver
Mais informações no site do projeto.
Olá mundo!
É com muita satisfação que, enfim, coloco meu website pessoal no ar! Quem me conhece sabe que há vários anos estou pelejando por isso e, felizmente, hoje foi o dia. Devagar e sempre! Assim as coisas vão acontecendo(?).
Como podem perceber, o formato do site é um weblog. Procurarei escrever sobre as coisas que estou envolvido no dia-a-dia, mais especificamente com Software Livre, GNU/Linux, Administração de Sistemas, Desenvolvimento de Software e, eventualmente, assuntos relacionados à música, vegetarianismo e movimentos sociais.
O site foi desenvolvido apenas com ferramentas livres (Emacs, Gimp...) e com o auxílio do framework web Django. Algumas aplicações para Django também foram fundamentais para a conclusão do site:
O código do site também está disponível como software livre (GPLv3) e você pode visualizá-lo através do site do projeto. Em breve liberarei o acesso ao controle de versões para que seja possível baixá-lo. A idéia é que o código sirva de referência àqueles que estão estudando Django e para quem possui interesse em um site pessoal utilizando este framework.
Toda crítica é muito bem-vinda! Minha pretensão é deixar público o conhecimento que adquirir ao longo do tempo e também aprender com os outros.
Seguimos!