Informacje o wydaniu Django w wersji 0.95

Witamy w wydaniu 0.95 Django.

Stanowi to znaczny postęp w procesie rozwoju Django od czasu wydania wersji 0.91 w styczniu 2006. Szczegółowa lista wszystkich zmian w tym wydaniu byłaby zbyt obszerna, jednakże podsumowanie jest przedstawione poniżej.

Zgodność i stabilność API

To wydanie ma na celu zapewnienie stabilnego punktu odniesienia dla programistów, którzy chcą pracować na aplikacjach produkcyjnych, używających Django.

Nie jest to jednak wydanie 1.0. Wprowadzimy kolejne zmiany przed wydaniem tej wersji. Aby mieć jasne spojrzenie na to, które części frameworka ulegną zmianie (i które się nie zmienią) przed wydaniem 1.0, zajrzyj do pliku api-stability.txt dostępnego w katalogu docs/ dystrybucji.

Możesz mieć potrzebę skorzystania z niektórych funkcji oznaczonych w tym dokumencie jako „API ulegnie zmianie”, ale to w porządku do czasu, gdy Ty czujesz się dobrze z tym, że API może zmienić się w przyszłości.

Na szczęście większość głównego API Django nie będzie się zmieniać przed wersją 1.0. Najprawdopodobniej pomiędzy wydaniami 0.95 a 1.0 nie będzie tak dużej różnicy jak pomiędzy 0.91 a 0.95.

Zmiany i nowe funkcjonalności

Główne zmiany w tym wydaniu (dla programistów używających aktualnie wydania 0.91) są efektem złączenia gałęzi rozwoju «magic-removal». Ta gałąź usunęła szereg ograniczeń w sposobie w którym kod Django musiał być pisany wskutek konsekwencji decyzji podjętych w dawnych czasach Django, przed wydaniem wersji open-source. Od teraz możliwe jest pisanie bardziej naturalnego, Pythonowego kodu, który działa zgodnie z oczekiwaniami. Zniknęło także wiele „czarnej magii” dziejącej się za kulisami.

Poza tym, kolejnym tematem tego wydania jest gigantyczny wzrost użyteczności. Dokonaliśmy niezliczonej ilości ulepszeń w komunikatach błędów, dokumentacji itp., aby poprawić jakość życia programistów.

Nowe funkcje i zmiany wprowadzone w 0.95 obejmują:

  • Django używa teraz bardziej spójny i naturalny interfejs filtrowania do pobierania obiektów z bazy danych.
  • Modele definiowane przez użytkownika, funkcje i stałe od teraz pojawiają się w przestrzeni nazw modułu w którym zostały zdefiniowane. (Poprzednio wszystko było magicznie przenoszone do przestrzeni nazw django.models.*)
  • Niektóre opcjonalne aplikacje, takie jak FlatPage, Sites i Redirects, zostały oddzielone i przeniesione do django.contrib. Jeśli nie chcesz używać tych aplikacji, nie będziesz dłużej musiał instalować ich tabel w bazie danych.
  • Django posiada teraz wsparcie dla zarządzania transakcjami baz danych.
  • Dodaliśmy możliwość pisania niestandardowych backendów uwierzytelniania i autoryzacji użytkowników przeciwko alternatywnym systemom takim jak LDAP.
  • Ułatwiliśmy dodawanie niestandardowych funkcji na poziomie tabel do modeli, dzięki nowemu API „Manager”.
  • Teraz jest możliwe, aby używać Django bez bazy danych. Oznacza to po prostu, że framework nie wymaga dłużej od Ciebie działającej i skonfigurowanej bazy danych tylko po to, żeby serwować dynamiczne strony. Innymi słowy, można po prostu użyć URLconf i widoków. Poprzednio framework wymagał, żeby baza danych była skonfigurowana niezależnie od tego, czy z niej faktycznie korzystałeś.
  • Od teraz bardziej wyraźne i naturalne jest przeciążanie metod save() i delete() w modelach, zamiast konieczności używania hooków dla metod pre_save() i post_save().
  • Poszczególne części frameworka od teraz mogą być konfigurowane bez konieczności ustawiania zmiennej środowiskowej. Pozwana to na zastosowanie na przykład systemu szablonów Django w innych aplikacjach.
  • Coraz więcej części frameworka zostało podjętych internacjonalizacji, jak rozszerzyliśmy wsparcie internacjonalizacji (i18n). Baza kodu Django, wliczając kod i szablony, została przetłumaczona przynajmniej w części na 31 języków. Od Arabskiego poprzez Chiński i Węgierski aż po Walijski, od teraz możesz korzystać ze panelu administracyjnego Django w języku ojczystym.

Liczba zmian potrzebnych do przeniesienia kodu kompatybilnego z wersją 0.91 do bazy kodu 0.95 jest w pewnych przypadkach znacząca. Są one jednak w większości rozsądnie rutynowe i wymagają jednorazowego nakładu pracy. Lista wymaganych zmian jest opisana na stronie wiki Usuwanie Magii. Jest także łatwa checklista jako odniesienie przy wykonywaniu portowania.

Zgłaszanie błędów i uzyskiwanie pomocy

Potrzebujesz pomocy przy rozwiązywaniu problemu z Django? Dokumentacja dystrybucji jest dostępna również online na stronie Django. FAQ </faq/index> jest szczególnie zalecane, ponieważ zawiera szereg problemów, które pojawiają się raz po raz.

Dla bardziej spersonalizowanej pomocy, lista mailingowa django-users jest bardzo aktywna, z ponad 2,000 subskrybentami, którzy mogą pomóc Ci rozwiązać każdy problem z Django. Zalecamy Ci początkowo przeszukanie archiwum, gdyż wiele typowych pytań pojawia się regularnie a każdy szczególny problem mógł już kiedyś zostać rozwiązany.

Finally, for those who prefer the more immediate feedback offered by IRC, there’s a #django channel on irc.freenode.net that is regularly populated by Django users and developers from around the world. Friendly people are usually available at any hour of the day – to help, or just to chat.

Dziękujemy za używanie Django!

Zespół Django, Lipiec 2006