quinta-feira, 28 de outubro de 2010

Gerar slug apartir de uma string

No admin é fácil. Basta utilizar o prepopulated_fields, mas caso precise fazer na mão ou em alguma view, segue uma def que resolve o serviço:

def toSlug(value):
    import unicodedata
    import re
    from django.utils.safestring import mark_safe
    value = unicodedata.normalize('NFKD', value).encode('ascii', 'ignore')
    value = unicode(re.sub('[^\w\s-]', '', value).strip().lower())
    return mark_safe(re.sub('[-\s]+', '-', value))

terça-feira, 26 de outubro de 2010

Alterando o formato da data para input em pt-br no ModelForms

Para alterar o formato de digitação das datas, coisa muito comum em vários forms, sempre era feito no js ou tinha que tratar de alguma forma no POST. Utilizando o input_formats o Django resolve esse problema de uma forma mais elegante:

No forms.py do Model utilize assim:

class Classe(ModelForm):
    datanascimento = forms.DateField(label=u"Nascimento", input_formats=['%d/%m/%Y'], widget=forms.DateInput(format='%d/%m/%Y'))

hasta!