Najważniejszą rzeczą, jaką powinniście wiedzieć na temat filtra pluralize jest ta, żeby go nigdy nie używać. Nigdy. Jego istnienie wynika z lenistwa ludzi, którzy nigdy w życiu nie przygotowywali aplikacji do tłumaczenia. Jeśli nie wyraziłem się dość jasno, używanie filtra pluralize wywoła u ciebie raka, stereoporoże i zatwardzenie rozsiane.
Jakkolwiek sprytnie by nie wyglądał, ten kod […]
Archive for the ‘web’ Category
Django: pluralize
Django: direct_to_template
Nie wiem, czemu niektórzy tak uparcie korzystają z funkcji render_to_response, by za każdym razem przekazać do niej ręcznie stworzony obiekt kontekstu. Zresztą, sami oceńcie, która wersja jest ładniejsza:
from django.shortcuts import render_to_response
from django.template import RequestContext
def foo(request):
# …
return render_to_response(‘foo.html’, {‘bar’: baz},
[…]
O fontach raz jeszcze, czyli wielkość się liczy
Z powodu występującego dzisiaj u mnie przesilenia kataru, zostałem zmuszony (dosłownie ze łzami w oczach) do zmiany wielkości fontów z 10 na 12 punktów. Później wspomniałem o tym kilku osobom, dodając, że nie rozróżniam liter poniżej 16 pikseli, co w dwóch przypadkach wywołało konsternację. Punkty i piksele to nie to samo.
Punkt jest jednostką typograficzną pochodzącą ze […]
Django: szybszy SQLite do testów
Domyślna konfiguracja SQLite każe mu synchronizować plik bazy po każdej operacji. W środowiskach testowych nie musimy się martwić o spójność danych w wypadku awarii, poniżej zamieszczam więc backend pozbawiony zbędnego narzutu:
from django.db.backends.sqlite3.base import (
DatabaseWrapper as Sqlite3Wrapper,
DatabaseError,
IntegrityError,
DatabaseFeatures,
[…]
Styczniowe zmiany w Centrum Faktur
Dzisiaj — dokładnie miesiąc po ostatniej aktualizacji — udostępniliśmy kolejną aktualizację CentrumFaktur. Między innymi pojawiły się faktury zaliczkowe, o które część z was prosiła.
Więcej informacji na blogu Mirumee. A teraz, jako że nadal nie jestem właścicielem CentrumFaktur, czas usiąść do kolejnego projektu.
Wstęp do kultury: nie drzyj mordy
Jest sobie mielonka i jest mielonka. Rzadko trafia mi się spam tak bezczelny, jak ten, który otrzymałem już po raz drugi w ciągu ośmiu godzin. W pierwszym zdaniu czytam:
PROSZĘ O PRZEKAZANIE NINIEJSZEGO LISTU OSOBIE DECYDUJĄCEJ W PAŃSTWA FIRMIE O SPOSOBACH POZYSKIWANIA KLIENTÓW DLA WASZEJ AGENCJI
To ci nowa kultura — nawet dziwka powie dzień dobry zanim […]
Logika rozmyta, czyli o godnym przyjmowaniu krytyki
Disclaimer: Na wstępie chciałem ostrzec, że tekst dotyczy moich kontaktów z InFaktem, który to serwis z racji umowy wiążącej mnie z Mirumee niektórzy mogą uznać za moją konkurencję.
Cenimy InFakt (i mówiąc my nie mam na myśli ja, właściciel CentrumFaktur, do czego jeszcze dojdziemy). Mamy również pełną świadomość tego, że sporo firm właśnie ich wybrało do […]
Nowy serwis: CentrumFaktur.pl
Jakiś czas temu pytałem na Blipie, czy istnieje serwis, który potrafi wystawiać faktury w obcej walucie w sposób zgodny z prawem. Na przykład InFakt wbrew prawu nie przelicza wszystkich kwot VAT na złotówki.
Widać najlepiej zrobić wszystko samemu. Oddaliśmy się tedy pasjonującej lekturze przepisów dotyczących podatku VAT. Polecam szczerze tę formę rozrywki, zwłaszcza porównywanie poszczególnych przepisów […]
Django: alternatywa dla Form.as_table()
Domyślna struktura generowana przez metodę django.forms.Form.as_table pozostawia nieco do życzenia. Stąd nieco wygodniejsza i nieinwazyjna wersja w postaci filtra (zastanawiam się, czemu ta wbudowana 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 kompletu przykładowy szablon:
{% for f in form %}
{% if f.errors %}
<tr […]
Django: Decimal i simplejson
Moduł django.utils.simplejson nie obsługuje domyślnie typu decimal.Decimal. Na szczęście da się podać własny mechanizm kodowania nieznanych typów:
import decimal
def json_encoder(value):
if isinstance(value, decimal.Decimal):
return float(str(value))
else:
raise TypeError
from django.utils import simplejson
print simplejson.dumps([decimal.Decimal(‘1.2′)], default=json_encoder)

