Archive for Sierpień, 2009

Django: alternatywa dla Form.as_table()

Domyślna struk­tura gene­ro­wana przez metodę django.forms.Form.as_table pozo­sta­wia nieco do życze­nia. Stąd nieco wygod­niej­sza i nie­in­wa­zyjna wer­sja w postaci fil­tra (zasta­na­wiam się, czemu ta wbu­do­wana w Django ma postać metody): from django.template.loader import render_to_string @register.filter def as_table(form): return render_to_string(‘form_as_table.html’, {‘form’: form}) Do kom­pletu przy­kła­dowy sza­blon: {% for f in form %} {% if f.errors %} <tr […]

Django: Decimal i simplejson

Moduł django.utils.simplejson nie obsłu­guje domyśl­nie typu decimal.Decimal. Na szczę­ście da się podać wła­sny mecha­nizm kodo­wa­nia nie­zna­nych typów: import deci­mal def json_encoder(value): if isinstance(value, decimal.Decimal): return float(str(value)) else: raise Type­Er­ror from django.utils import sim­plej­son print simplejson.dumps([decimal.Decimal(‘1.2′)], default=json_encoder)

Python: Utop sierotki w zupie

Ot, taki znak, że nie umar­łem. Dziś w pro­gra­mie dość popu­larny błąd składu, choć wielu uważa, że inter­netu reguły nie doty­czą. A sie­rotki wykoń­czymy tak: import re def sierotki(text): reg = re.compile(u’\b(a|i|o|u|w|z)\b\s+’) return reg.sub(u’\1u00a0’, text) Nie­stety, na ogół mamy do czy­nie­nia z tek­stem zawie­ra­ją­cym znacz­niki: import re from Beau­ti­ful­Soup import Beau­ti­ful­Soup def sierotki(text): soup = BeautifulSoup(text) […]

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Poland
This work by Patryk Zawadzki is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Poland.