Ordenar na maioria das linguagens de programação é bem fácil, sempre é alguma coisa relacionada com "sort". No Python não é diferente:
>>> a = [3,2,4,5,1,6,7]
>>> a.sort()
>>> print a
[1, 2, 3, 4, 5, 6, 7]
Vamos agora embaralhar a lista recém ordenada:
>>> import random
>>> random.shuffle(a)
>>> print a
[4, 2, 3, 7, 1, 6, 5]
Difícil né..
hasta!
Django 1.9
Quem sou eu
Pesquisar
Marcadores
Admin
(18)
ajax
(2)
auditoria
(1)
autenticação
(1)
change list
(1)
CKEditor
(3)
Class Based Views
(4)
ColorPicker
(1)
contrab
(2)
Dicas
(64)
django
(2)
Django 1.3
(11)
Django 1.4
(10)
Django 1.6
(6)
Django 1.7
(4)
Django 1.8
(10)
Django 1.9
(4)
Django 2.0
(1)
Django/Python
(58)
E-mail
(1)
Erros Frequentes
(19)
Facebook API
(2)
Flash
(1)
Formset
(3)
Function Based Views
(1)
Git
(2)
ImagesLoaded
(1)
Inlines
(3)
Instagram API
(1)
Instalação
(10)
Interface
(1)
Javascript
(1)
JSON
(1)
Lion
(1)
Login único
(1)
MAC
(2)
maps
(1)
Masonry
(1)
Middleware
(2)
ModelForm
(4)
MySQL
(5)
normalização
(1)
ordenação
(1)
OSX
(1)
paginação
(2)
Parser
(2)
PDF
(2)
plugins-uteis
(6)
RegEx
(1)
RSS
(1)
slugify
(1)
South
(2)
SSH
(1)
Terminal
(1)
Tradução
(2)
tutorial
(10)
Twitter API
(1)
Twitter Style Pagination
(1)
upload
(1)
Vagrant
(2)
Validação
(2)
Virtualenv
(4)
Watermark
(3)
Widgets
(1)
sexta-feira, 18 de junho de 2010
segunda-feira, 24 de agosto de 2009
Debugar erros no console
Durante o desenvolvimento de qualquer aplicação, erros são comuns. O Django se mostra deveras eficiente para informar qual foi o erro e aonde este aconteceu. Isto quando se trata do browser.
E quanto aos erros gerados enquanto a parte visual é feita no flash? Quaisquer erros nesse caso não serão mostrados em tela, e o flash vai ficar travado esperando uma resposta que não virá.
Desenvolvimento no Flash requer muito mais cuidado, pois é bem mais complexo encontrar onde está o problema. Para amenizar um pouco a situação segue a maneira de fazer o debug no console.
Desta forma todos os erros do Django gerados durante a execução do flash serão listados no console, da mesma forma que isso já é feito no browser quando a setting DEBUG está como valor True.
Deixe o arquivo __init__.py da seguinte forma:
hasta!
Novos recursos do Admin - actions
Quando é necessário fazer uma atualização com mais um registro? Entrar um a um, editar e salvar? Existe um meio mais prático e eficiente pra fazer tais tarefas repetitivas.
Eis que surge o actions. Na versão do trunk do Django ele já vem nativo com a opção remover todos os registros selecionados, muito útil quando era preciso apagar vários ao mesmo tempo.
Essa nova funcionalidade não para por aqui. Também é possível colocar ações customizadas dentro desse fantástico recurso. Vejamos como.
Vejamos um exemplo:
Muitos os portais de conteúdo possuem a funcionalidade de colocar um determinado conteúdo, uma nóticia por exemplo, em destaque. Para isso no seu módulo de notícia, provavelmente terá o campo:
destaque = models.BooleanField(default=False)
Suponhamos que seja necessário colocar 5 noticias em destaque. Entrar uma a uma, não é uma opção, porquê como sempre digo, mais que dois é muito. Vejamos como ficaria de uma forma eficiente.
Dentro do seu admin.py, vá até a classe do admin do módulo que deseja implementar o actions, NoticiaAdmin por exemplo, e crie já as duas funções:
Note que não é necessário criar o remover selecionado, pois ele já é nativo.
A coisa toda acontece na linha 28. Perceba que não é necessário correr um for para pegar todas as notícias selecionadas. Ele simplesmente faz o update em todos os objetos de notícia que forem selecionados através do queryset.
Isto pode ser feito para atualizações em massa, duplicações, e quaisquer outros recursos que conseguir pensar para um conjunto de dados do mesmo tipo.
hasta!
Assinar:
Postagens (Atom)