Do Quentin Tarantino wydał arcydzieło epickiego filmu, Django było równoznaczne z "najlepszych ram Pythona wszechczasów." Choć jej SEO i wyszukiwanie reputacji mógłby podjąć się hitem, Django jest wciąż takie samo rozwiązanie najwyższej półki do tworzenia aplikacji internetowych w Pythonie.
Dzięki dedykowanym userbase i mnóstwo tutoriali online, Rozpoczęcie pracy z Django jest nie tylko zalecane, ale bardzo łatwe do zrobienia też.
Ten moloch świata rozwoju Python jest bardzo dobrze zachowane i był inspiracją dla wielu podobnych struktur, niektóre z nich nawet poza spektrum Pythona.
Po wielu latach rozwoju, Django jest niezwykle stabilne narzędzie, z nielicznymi błędami i dużo dokumentacji, która ma pomóc w każdy początkujący zewnątrz. To jest również stale aktualizowany i rozbudowywany do najnowszych wersji Pythona, jak również.
Teraz Django zostało wykorzystane na głównych stronach internetowych, takich jak Instagram, Mozilla, Disqus, OpenStack, Rdio i Pinterest, żeby wymienić tylko kilka. Co to mówi, jako deweloper jest to, że łatwo można zaufać, aby uruchomić projekty swoich klientów, czy może on obsługiwać ruch i userbases wyżej wymienione strony obsługi.
Co nowego w tej wersji.
- Wsparcie dla operacji wykonywanych po operacji commit
- Wsparcie dla walidacji haseł.
- wstawek zgodę na poglądów opartych na klasach.
- Nowa stylistyka dla contrib.admin.
- Wsparcie dla uruchamiania testów równolegle.
Co nowego w wersji 1.9.
- Wsparcie dla operacji wykonywanych po operacji commit
- Wsparcie dla walidacji haseł.
- wstawek zgodę na poglądów opartych na klasach.
- Nowa stylistyka dla contrib.admin.
- Wsparcie dla uruchamiania testów równolegle.
Co nowego w wersji 1.8.3.
- Poprawiono spłukiwania sesji w backend cached_db
Co nowego w wersji 1.8.1.
- sformalizowanego API dla Model._meta
- Natywne wsparcie dla wielu systemów szablonów.
- Wsparcie dla złożonych wyrażeń SQL za pośrednictwem ORM.
- Nowy PostgreSQL specyficzne funkcje w contrib.postgres.
Co nowego w wersji 1.7.5 / 1.8b1:
- Poprawki:
- Naprawiono błąd, gdy migracja unapplying contrib.contenttypes lub pierwszą migrację contrib.auth użytkownika.
- Wykonane tabel operacji zmiany nazwy RenameModel ManyToManyField migracji za.
- Naprawiono crash migracja na MySQL podczas migracji z OneToOneField do ForeignKey.
- uniemożliwił widok static.serve z produkcją ResourceWarnings w pewnych okolicznościach.
- Poprawiono sprawdzenie schematu dla ManyToManyField szukać wewnętrznym zamiast sprawdzania instancji klasy, więc można napisać niestandardowy M2M-jak pola z samego zachowania.
Co nowego w wersji 1.7.2:
- Poprawki:
- Dodane GeoDjango kompatybilność ze sterownikiem bazy mysqlclient.
- Poprawiono MySQL 5.6+ katastrofy z GeometryFields w migracjach.
- Naprawiono błąd migracji po usunięciu pola, który jest wymieniony w AlterIndexTogether lub AlterUniqueTogether.
- Aktualizacja pierwszy dzień tygodnia w ukraińskim lokum do poniedziałku.
- Dodano wsparcie dla metadanych transakcyjnej inicjalizacji przestrzennego SpatiaLite 4,1 +.
- Naprawiono błąd, który uniemożliwiał zmianę migracji pole zerowalne z domyślną dla non-pustych o tej samej domyślnie.
- Naprawiono błąd podczas dodawania GeometryFields migracja z pustymi = True na PostGIS.
- Dozwolone wykorzystanie DateTimeField () As Transform.output_field.
- Naprawiono błąd szeregowania migracja z udziałem float (& quot; nan & quot;) i float (& quot; Pow & quot;).
- Naprawiono regresji, gdzie pola formularza niestandardowego posiadające atrybut queryset ale nie limit_choices_to nie mogą być wykorzystane w ModelForm.
- Naprawiono błąd sprawdzania poprawności pola niestandardowy typ z MySQL backend przy db_type zwrócone None.
- Naprawiono błąd migracji, gdy pole jest zmieniana, który jest częścią index_together.
- Poprawiono squashmigrations szanować parametru --no-zoptymalizować.
- Wykonane RenameModel odwracalne.
- uniknąć niepotrzebnych cofanie migracji z innych aplikacji podczas migracji do tyłu.
- Poprawiono rzadki błąd zapytania przy użyciu głęboko zagnieżdżonych podzapytania.
- Naprawiono błąd w migracji podczas usuwania pole, które jest częścią indeksu / unique_together ograniczeń.
- Poprawiono django.core.files.File .__ repr __ (), gdy nazwa pliku zawiera znaki Unicode.
- Dodano brakujący kontekst administratora za delete_selected widzenia, który uniemożliwiał niestandardowy nagłówek budowie itd pojawianiu się.
- Naprawiono regresji z dynamicznie generowanych inlines i dozwolonych odnośników polowych w admin.
- Poprawiono bug nieskończona pętla dla niektórych cyklicznych zależności migracji, i sprawił, że komunikat o błędzie dla zależności cyklicznych znacznie bardziej pomocne.
- Dodano brakujące index_together obsługi SQLite.
Co nowego w wersji 1.7.1:
- Dozwolone związanych wiele-do-wielu dziedzinach się odniesione w admin.
- Dodane bardziej pomocny komunikat o błędzie, jeśli starają się przenieść aplikację bez uprzedniego tworzenia tabeli contenttypes.
- Zmodyfikowane migracje Algorytm zależność aby uniknąć ewentualnego nieskończonej rekurencji.
- Poprawiono UnicodeDecodeError gdy równo komunikat zawierał znaki Unicode.
- przywrócono brakujące klauzule wyboru produktu SQL, które zostały pominięte w niektórych backendów gdy nie jest używany migracje.
- Poprawiono serializacji obiektów typu w migracji.
- Dozwolone inline i ukrytych odniesień do pól administratora.
- @deconstructible dekorator teraz nie z ValueError jeśli urządzony obiekt nie może być automatycznie importowane.
- Poprawiono literówkę w inlineformset_factory () Komunikat o błędzie, który spowodował katastrofę.
- Przywrócono możliwość korzystania ABSOLUTE_URL_OVERRIDES z modelem do "auth.User '(# 11775). Jako efekt uboczny, ustawienie teraz dodaje metodę get_absolute_url () do dowolnego modelu, który pojawia się w ABSOLUTE_URL_OVERRIDES ale nie definiują get_absolute_url ().
- unikać maskowania pewne wyjątki ImportError podczas ładowania aplikacji.
- Empty index_together lub unique_together modelu opcji nie powoduje już nieskończonych migracji.
- Naprawiono błąd w contrib.sitemaps jeśli lastmod powrócił datę zamiast datetime.
- dozwolone migracje do pracy z app_labels, które mają taką samą ostatnią część (np django.contrib.auth i vendor.auth).
- Przywrócono możliwość deepcopy obiektów f.
- Formaty Welsh (CY) i kilku chińskich regionu (zh_CN, zh_Hans, zh_Hant i zh_TW) zostały dodane. Formaty Macedoński zostały ustalone.
- Dodano podając nazw wymuszenie w SQL generowany przez migracje, aby zapobiec katastrofie z wielkich liter w nazwie.
- Poprawiono zmienianie nazw modeli z własnym więzy wiele-do-wielu polu (ManyToManyField ( "ja")).
- Dodano get_extra (), get_max_num () i () get_min_num haki GenericInlineModelAdmin.
- Wykonane migrations.RunSQL nie wymagają już ucieczki procent znak. To jest teraz zgodne z cursor.execute ().
- Wykonane wpis serializacji w słowniku TEST użytkowej.
- Poprawiono błąd w migracji, które uniemożliwiły kluczy obcych modeli niezarządzani z kluczem niestandardowy podstawowej.
- Dodane SchemaEditor dla MySQL backend GIS, dzięki czemu indeksy przestrzenne zostaną utworzone dla aplikacji z migracji.
- Dodane SchemaEditor Oracle backend GIS, dzięki czemu zostanie utworzony metadane przestrzenne i indeksy dla aplikacji z migracjami.
- przymuszany opcję modelu pola related_name do Unicode podczas generowania migracji generować migracje, które działają zarówno Pythona 2 i 3.
- Poprawiono MigrationWriter obsłużyć Builtin typy bez importu.
- Poprawiono deepcopy na ErrorList.
- dokonał admindocs zobaczyć przeglądać zobacz szczegóły sprawdzić czy widok określone w adresie URL istnieje w URLconf. Wcześniej można było importować dowolne pakiety ze ścieżki Pythona. To nie była uważana za problem z zabezpieczeniami, ponieważ admindocs jest dostępne wyłącznie dla personelu użytkowników.
- Naprawiono błąd UnicodeDecodeError w AdminEmailHandler ze znakami spoza ASCII we wniosku.
- Naprawiono brakujące get_or_create i update_or_create na powiązanych menedżerów powodujących IntegrityError.
- Wykonane urlsafe_base64_decode () zwróci odpowiedni typ (ciąg bajtów) na Python 3.
- makemigrations mogą szeregować wartości strefy czasowej świadomy.
- Dodano zachętę do pytającego migracje podczas wyjmowania NULL z pola, aby zapobiec IntegrityError na istniejących NULL wierszy.
- Stałe stosunki rodzajowe w ModelAdmin.list_filter.
- Przywrócono zgodności RFC dla backend SMTP Pythonie 3.
- Naprawiono błąd podczas parsowania plików cookie zawierających nieprawidłową treść.
- Ramy sprawdzanie systemu teraz podnosi błędzie models.E020 gdy metoda klasy Model.check () jest nieosiągalny.
Co nowego w wersji 1.7:
- Nowy wbudowany system migracji bazy danych. Uwagi dotyczące uaktualniania z południa (popularna aplikacja innej firmy zapewniając funkcjonalność migracji) są również dostępne.
- refactored pojęcie aplikacji Django. Aplikacje Django nie są związane z istnieniem modeli plików, a może teraz określić zarówno dane konfiguracyjne i kod wykonywany podczas uruchamiania Django.
- Usprawnienia API modelu polowego w celu wspierania migracji, aw przyszłości, aby umożliwić łatwe dodawanie kompozytowych kluczowego wsparcia dla ORM Django.
- Usprawnienia dla niestandardowego queryset Manager i klas, umożliwiając odwrotnej relacji przechodzenie określić Manager do używania, a tworzenie Manager z klasy niestandardowego queryset.
- Ramy sprawdzanie systemu rozszerzalny, które mogą pomóc programistom w wykrywaniu i diagnozowaniu błędów.
Co nowego w wersji 1.6.3 / 1.7b2:
- Poprawiono:
- MySQL typecasting
- Nieoczekiwany wykonanie kodu przy użyciu reverse ()
- Buforowanie anonimowych stron może ujawnić CSRF tokena
Co nowego w wersji 1.6.2:
- Poprawiono mail do kodowania na Python 3.3.3 lub nowszej.
- Naprawiono błąd, gdzie, kiedy settings.DATABASES [ 'default'] [ 'AUTOCOMMIT'] = false, połączenie nie był w trybie automatycznego zatwierdzania, ale Django udawał było.
- Naprawiono regresji wielokrotnej tabeli dziedziczenia wykluczenia () kwerend.
- Dodano brakujące elementy do django.utils.timezone .__ wszystkie __.
- Naprawiono problem niewspółosiowość pole select_related () i modelu dziedziczenia.
- Poprawiono dołączyć promocji dla odwrócone i warunków.
- bazy danych Oracle introspekcja teraz pracuje z logiczną i pływak pola.
- Naprawiono błąd, gdzie leniwe obiekty nie zostały właściwie oznaczone jako bezpieczne, kiedy przeszedł przez mark_safe () i może skończyć się dwukrotnie uciekł.
- Naprawiono błąd podczas wykonywania polecenia changepassword gdy reprezentacja obiektu użytkownika zawierały znaki spoza ASCII.
- collectstatic polecenie zgłosi błąd, zamiast domyślnego użyciem bieżący katalog roboczy, jeśli STATIC_ROOT nie jest ustawiony. W połączeniu z opcją --clear, poprzednie zachowanie może zniszczyć niczego poniżej bieżącego katalogu roboczego.
Co nowego w wersji 1.6.1:
- błędy:
- Poprawiono wyświetlanie instancji inline w formsets gdy rodzic ma 0 dla klucza podstawowego.
- Naprawiono regresji, gdzie niestandardowe querysets dla kluczy obcych zostały nadpisane jeśli ModelAdmin miał zamawianiu zestawu.
- Usunięto wzmianka o funkcji w --locale / -l opcji z makemessages i compilemessages polecenia, które nigdy nie pracowały, jak obiecał: wsparcie wielu nazw locale oddzielonych przecinkami. Jest jeszcze możliwość określenia wielu lokalizacje w jednym przebiegu za pomocą opcji wielokrotnie.
- Poprawiono regresję niepotrzebnie wywołał konfigurację ustawień podczas importowania get_wsgi_application.
- Poprawiono Test klient logout () podczas korzystania z plików cookie oparte sesji backend.
- Naprawiono błąd, gdy GeometryField używa non-geometrycznej widget.
- Poprawiono hash hasła uaktualnić przy zmianie licznika iteracji.
- Naprawiono błąd z punktu widzenia debugowania gdy URLconf zawiera tylko jeden element.
- Ponownie dodaje brakujący wynik wyszukiwania i zresetować łącza w widoku listy zmian administratora.
- Aktualny język jest już zapisany do sesji przez LocaleMiddleware na każdej odpowiedzi, ale raczej dopiero po wylogowaniu.
- Naprawiono błąd podczas wykonywania runserver na systemach innych niż angielski i kiedy sformatowana data w jego wyjściu zawierał znaków spoza ASCII.
- Naprawiono błąd z punktu widzenia debugowania po wyjątek wystąpił w Pythonie ≥ 3.3.
- Naprawiono crash ImageField na niektórych platformach (Homebrew i RHEL6 zgłaszane).
- Naprawiono regresji przy użyciu relacji generycznych w ModelAdmin.list_filter.
Metoda
liczyć
Co nowego w wersji 1.6:
- Django 1.6 upraszcza domyślny projektu i aplikacji szablony, włączanie Clickjacking ochrona i interfejs administracyjny domyślnie.
- Django Django 1.6 remonty, a teraz pozwala na poziomie bazy danych trybu automatycznego domyślnie. To wiąże się z pewnymi deprecations, więc pamiętaj, aby zapoznać się z uwagami na temat migracji z obsługą transakcji 1,5 stylu.
- Django 1.6 obsługuje stałe połączenia z bazą danych. Należy zauważyć, że nie jest to taka sama jak łączenie połączenia; To po prostu pozwala na połączenia do życia (na ustawionym czasie) w poprzek żądań obsługiwanych przez tego samego pracownika.
obsługę transakcji
Co nowego w wersji 1.5.4 / 1.6 Beta 4:
- Poprawiono:
- Denial of Service za pośrednictwem wielkich haseł.
Co nowego w wersji 1.5.3 / 1.6 Beta 3:
- Te komunikaty skierować directory- luka przechodzenie w jednym z wbudowanych tagów szablonów Django.
Co nowego w wersji 1.5.2:
- Poprawiono:
- Cross-site scripting (XSS) w panelu administratora
- Możliwość XSS poprzez is_safe_url
Co nowego w wersji 1.5.1:
- ostrzeżenia Moduł poziomu emitowanych podczas badań nie są już dyskretnie ukryte.
- Uniemożliwiono filtrowanie hashe haseł w admin użytkownika.
Co nowego w wersji 1.5.0:
- Django 1.5 wprowadza wsparcie dla konfigurowalnego modelu użytkownika.
- Django 1.5 jest pierwszą wersją Django ze wsparciem dla Pythona 3 (konkretnie, Python 3.2 i nowszych).
- Dokumentacja Django również zdobyć trochę dość znacznej pracy.
Co nowego w wersji 1.4.4 / 1.5 RC 2:
- Te komunikaty zabezpieczeń naprawić cztery kwestie . jeden potencjał wektorowy phishing, jeden wektor denial-of-service, problem wycieku informacji, a także szereg luk XML
Co nowego w wersji 1.4.2.
- Poprawiono gospodarza zatrucia nagłówek
- Dokumentacja HttpOnly opcją cookies.
Co nowego w wersji 1.4.1:
- Poprawiono błędy bezpieczeństwa:
- Na cross-site scripting w widokach uwierzytelniania.
- Denial-of-service w walidacji obrazu.
- Denial-of-service poprzez get_image_dimensions ().
Co nowego w wersji 1.4:
- Django 1.4 to ostatnia oficjalna wersja Django, który będzie wspierał Python 2.5.
Co nowego w wersji 1.4 RC 2:
- Django 1.4 krople wsparcie dla Pythona 2.4
- Wsparcie w przeglądarce framework'i
- Wybierz się do wsparcia update
- Model.objects.bulk_create w ORM
- QuerySet.prefetch_related
- Ulepszona hasło skrótu
- HTML5 doctype
- Lista filtry w panelu administratora
- Wiele sortowania interfejs administratora
- Nowe metody ModelAdmin
- inlines Admin szacunek
- Narzędzia do podpisania kryptograficznego
- Cookie na bazie sesji backend
- Nowy kreator formularza
- reverse_lazy
- Przełożenie URL
- Pomoc kontekstowa tłumaczenie {% trans%} i {% blocktrans%}
- kwargs Konfigurowalny SingleObjectMixin URLconf
- znaczniki szablonu Przydział
- * args i ** Wsparcie kwargs dla funkcji pomocniczych szablon
- Nie owijania wyjątków w trybie TEMPLATE_DEBUG
- truncatechars filtr szablon
- statyczne szablon
- backend składowania CachedStaticFilesStorage
- Proste zabezpieczenie Clickjacking
- ulepszenia CSRF
- Filtrowanie wadzie
- Rozszerzona obsługa IPv6
- Aktualizacja domyślny układ projektu oraz manage.py
- Ulepszone wsparcie WSGI
- projekt klienta i aplikacji szablony
- Obsługa stref czasowych
- porównania HTML w testach
- Dwa nowe ciągi format daty
uprawnienia użytkownika
wzory
Co nowego w wersji 1.3.1.
- manipulacja Sesja
- atak Denial of Service poprzez URLField.
- URLField przekierowanie.
- Doradczy. Nagłówka hosta i CSRF
- Doradczy. Stron debugowania i poufne dane POST
Co nowego w wersji 1.3.
- Ramy poglądów opartych na klasach pisania
- Wbudowane wsparcie dla rejestrowania przy użyciu obiektów Pythona.
- Wsparcie Contrib dla łatwej obsługi plików statycznych.
- testowanie ramy Django obsługuje teraz (i dostarczany wraz z kopią) w unittest2 bibliotece.
Co nowego w wersji 1.2.5:
- poprawki zabezpieczeń:
- Luka w obsłudze CSRF.
- Potencjalne XSS w polu renderowanie pliku.
- luka Directory przejścia na Windows.
Co nowego w wersji 1.3 beta 1:.
- Zmiany w metodach login: admin
- Django 1.3 statki z nowym django.contrib.staticfiles contrib aplikacji, aby pomóc programistom obsługiwać statycznych plików multimedialnych (zdjęć, CSS, JavaScript, itp), które są potrzebne, aby uczynić pełną stronę.
- Dodatkowe poprawek do aplikacji staticfiles.
Co nowego w wersji 1.2.3 / 1.3 alpha 1:.
- Klasa poglądy oparte
- Logowanie.
- Rozszerzone pliki statyczne obsługi.
- Menedżerowie kontekst transakcji.
Wymagania :
- Python 2.7 lub nowszy
Komentarze nie znaleziono