Zażółć Gęślą Jaźń w Django

Wszyscy developerzy Django, których kiedykolwiek zainteresował/zaskoczył unikodowy galimatias w Pythonie zapewne wiedzą, że modele i poszczególne pola typu CharField, TextField itd. zwracają swoje wartości w unicode. W związku z tym kod typu

 
"Mój wspaniały artykuł - %s"%model.title
 

nie zadziała z powodu niezgodności formatów łączonych łańcuchów (unicode i nieunicode). Mogłoby się wydawać, że wystarczy dopisać # -*- coding: UTF-8 -*- na początku pliku z owym kodem oraz dodać magiczną literkę u przed stringiem:

 
u"Mój wspaniały artykuł - %s"%model.title
 

jednak i tu napotkamy lipę - problemy z kodowaniem. Rozwiązaniem jest dosyć rozwlekła jak na pythona linijka:

 
unicode("Mój wspaniały artykuł - %s", "utf-8")%model.title
 

Dodatkowo, jeżeli umieszczamy ten kod np w funkcji __str__ jakiegoś obiektu, całość należy ująć w nawias i doklepać na końcu .encode('utf-8')

Pytanie moje brzmi - czy można szybciej?

...

Metajogger, czyli pseudoimplementacja usług XML-RPC dla Joggera

06 27 2008

In Techblog

5 komentarzy

A konkretniej MetaWeblog API.

Po co, jak, dlaczego?

MetaWeblog to interfejs pozwalający na pisanie i edycję bloga poprzez korzstanie z usług sieciowych. Pozwala to przede wszystkim wykorzystać do blogowania zewnętrzne narzędzia, wygodniejsze i bardziej funkcjonalne niż notatnik i formularz na stronie. Ponieważ brak jakiegokolwiek API dla Joggera jest dość niewygodny (i to nie tylko dla mnie), postanowiłem napisać własną, dość ograniczoną aplikacje serwującą przynajmniej kilka podstawowych funkcji, jakie powinno zawierać API. Z pomocą przyszedł C# i ASP.NET, nieoceniony Joggerowy Bot i kanały RSS.

...