Caso seja necessário converter um espaço " " para "<" para < ">" para > e assim por diante, basta fazer o seguinte:
from django.utils.html import escape
print escape('<div class="teste">teste de conversão de caracteres especiais do html</div>')
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)
quarta-feira, 12 de janeiro de 2011
terça-feira, 11 de janeiro de 2011
Efetuando buscas utilizando "OR"
Para realizar buscas utilizando "OR" basta fazer conforme abaixo:
from django.db.models import Q
resultados = <Classe>.objects.filter(Q(<campo1>__icontains=<keyword>) | Q(<campo2>__icontains=<keyword>))
Note que o icontans apenas foi utilzado como exemplo, poderia ser feito com quaisquer outros fields lookups (http://docs.djangoproject.com/en/dev/ref/models/querysets/#field-lookups)
Substituindo os devidos campos por seus respectivos nomes, será obtido em resultados uma query que busca em um ou em outro campo satisfazendo a respectiva condição.
hasta!
from django.db.models import Q
resultados = <Classe>.objects.filter(Q(<campo1>__icontains=<keyword>) | Q(<campo2>__icontains=<keyword>))
Note que o icontans apenas foi utilzado como exemplo, poderia ser feito com quaisquer outros fields lookups (http://docs.djangoproject.com/en/dev/ref/models/querysets/#field-lookups)
Substituindo os devidos campos por seus respectivos nomes, será obtido em resultados uma query que busca em um ou em outro campo satisfazendo a respectiva condição.
hasta!
Paginando Resultados com Django Pagination
Nada de limit, top. Não iremos usar nem o slice na view e não será necessário nem criar controles para pegar a página atual, a anterior controlar parametros já enviados de busca.
Como? Django Pagination.
Basta pegar o projeto disponibilizado aqui (http://code.google.com/p/django-pagination/) colocá-lo na raiz do seu projeto.
No arquivo settings.py poucas alterações:
Como? Django Pagination.
Basta pegar o projeto disponibilizado aqui (http://code.google.com/p/django-pagination/) colocá-lo na raiz do seu projeto.
No arquivo settings.py poucas alterações:
- Adicione o Pagination a tupla INSTALLED_APPS:
- ...
'pagination',
... - Adicione o Middleware do Pagination à tupla MIDDLEWARE_CLASSES:
- ...
'pagination.middleware.PaginationMiddleware',
... - E por sim no template, onde quiser paginar os resultados basta seguir a seguintes alterações:
- Carregue o template_tags do Pagination:
- {% load pagination_tags %}
- Defina logo acima do "for" que correrá todos os resultados obtidos na view a seguinte linha, substituindo com as devidas informações:
- {% autopaginate <SUA_QUERY_SET> <NRO_REGISTROS_POR_PAG> %}
- Para os botões de contre, adicone o código a seguir:
- {% paginate %}
Lembre-se de não filtrar os resultados na sua view, pra que o trabalho se tem algo eficiente que faz por você?
hasta!
terça-feira, 4 de janeiro de 2011
Erro: ManagementForm data is missing or has been tampered with
Quando a versão dos templates em TEMPLATE_DIRS/admin está incompatível com a versão do django que está rodando, normalmente faltam os campos hiddens necessários para o correto funcionamento do admin.
Caso o admin esteja personalizado ou a edição estiver no front, basta colocar a linha abaixo no template para inserir os campos necessários.
{{ formset.management_form }}
hasta!
Caso o admin esteja personalizado ou a edição estiver no front, basta colocar a linha abaixo no template para inserir os campos necessários.
{{ formset.management_form }}
hasta!
Assinar:
Postagens (Atom)