LINUX.ORG.RU

Веб-фреймворк Django прошел все тесты Python 3

 , ,


1

5

Разработчики популярного веб-фреймворка Django 19 августа сообщили, что разрабатываемая версия успешно прошла все тесты Python 3.
«В мае этого года Vinay Sajip опубликовал форк, показав таким образом возможность поддержки Python 2 и 3 в рамках единой кодовой базы. Вскоре после этой демонстрации основные разработчики проекта решили использовать six в качестве слоя совместимости. Было решено писать код Python 3, заботясь о совместимости со второй версией, а не наоборот, чтобы избежать возможных проблем в будущем».

Однако не стоит думать, будто Django с этого момента готов для применения с Python 3 на действующих системах. Изменения кода затронули многие части проекта, и хотя были приложены все усилия для исправления ошибок, все равно требуется полномасштабное тестирование кода в реальных условиях. Разработчики просят рассматривать код как «пре-альфа версию» и сообщать не только об ошибках в коде Python 3, но и в регрессиях кода Python 2.

Авторов приложений для Django убедительно просят сделать порт как можно быстрее, подсказки для этого доступны в документации.

>>> Запись в веблоге разработчиков

★★★

Проверено: DoctorSinus ()

Django прошел все тесты Python 3

Ну годно же, ну!

Boba_Fett ()

Ждем твистед.

zz ★★★★ ()

Все равно python3 говно. Убрать encode у байтовых строк, какой имбецил до этого додумался.

baverman ★★★ ()
Ответ на: комментарий от zz

Есть енкодеры и декодеры byte <-> byte, например hex, base64, zip. В двойке безумно удобно пользоваться:

'123'.encode('hex')

Напиши аналог на трешке. Ограничение str <-> byte глупое и нелогичное.

baverman ★★★ ()
Ответ на: комментарий от baverman

Слава богу есть bytes.tohex, bytes.fromhex, но однострочник в одно выражение для base64 уже хрен сделаешь.

baverman ★★★ ()

Поздравляю! Срач по поводу Rails будет? :)

renya ★★★★★ ()
Ответ на: комментарий от baverman

>но однострочник в одно выражение для base64 уже хрен сделаешь

Думаю, однострочники не были целью Питона 3.

Deleted ()
Ответ на: комментарий от XVilka

Теперь это Pillow , насколько я знаю автор форка шевелится с портом на третью ветку. А что касается PIL , то там никого шевеления уже как года два нет.

yanka ★★ ()

Однако! Джанго не просто торт, а хороший торт.

alex-w ★★★★★ ()

Веб-фреймворк Нинужна прошел все тесты Нинужна 3

anonymous ()

Ну вот остался еще один бастион Werkzeug - Flask

Автор фреймворка очень критичен по отношению к третьей ветке. Или проект умрет вместе со второй веткой или он все же автор созреет для его портирования.

yanka ★★ ()

В третью ветку python надо включать полноценный модуль для работы с wsgi или расширить wsgiref , cgi не годится. Значительная часть кода во всех python фреймворках приходится на свои велосипеды по обработке request запросов . Все это безобразие надо вынести в стандартную библиотеку.

yanka ★★ ()

Сделали поддержку двух пайтонов, теперь и си++ добавить не так трудно, наверное.

boo32 ()

Как у них все мучительно и болезненно. Бедолаги.

anonymous ()

RIP Django, Hype вокруг него уже давно прошел, только илита только хардкор

umren ★★★★★ ()
Ответ на: комментарий от Komintern

Шумиха, навязчивая реклама ....Типо такой перевод, значение с отрицательной коннотацией.

Но то что он написал бред, django живее всех живых и постоянно привлекает все новых разработчиков. Живой , активный фреймворк с активным постоянно растущим сообществом.

yanka ★★ ()

Странный этот ваш six.

% cat smth.py 
# -*- coding: utf-8 -*-
from __future__ import print_function
import six
s = 'превед мир'
print(s)
print(six.u(s))
print(six.b(s))

(env27)stuff % python --version
Python 2.7.3
(env27)stuff % python smth.py           
превед мир
пÑевед миÑ
превед мир

(env32)stuff % python --version
Python 3.2.3
(env32)stuff % python smth.py  
превед мир
превед мир
Traceback (most recent call last):
  File "smth.py", line 7, in <module>
    print(six.b(s))
  File "/mnt/stuff/env32/lib/python3.2/site-packages/six.py", line 246, in b
    return s.encode("latin-1")
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-5: ordinal not in range(256)
dismal_faun ★★ ()

ну ура, чо.

anonymous ()

А сколько warnings то в тестах

bhfq ★★★★★ ()
Ответ на: комментарий от void_ptr

Это гавно мамонта думаю умрет со 2 веткой, его ж переписать нереально. Либо заново полностью, либо проще закопать

aliens ★★ ()

Это же просто праздник какой-то! Надо будет отметить. Теперь бы ещё twisted подтянулся

dotbg ★★★★ ()
Ответ на: комментарий от yanka

Значительная часть кода во всех python фреймворках приходится на свои велосипеды по обработке request запросов . Все это безобразие надо вынести в стандартную библиотеку.

Ещё один php? Good, Good!

helios ★★★★★ ()
Ответ на: комментарий от yanka

Все это безобразие надо вынести в стандартную библиотеку.

А вы не используйте это безобразие. Есть прекрасный WebOb.

baverman ★★★ ()

Всё это, конечно, замечательно, но зачем вообще устраивать весь цирк с версиями языка? Тот же Perl, при всех его якобы недостатках, отлично справляется с обратной совместимостью много релизов к ряду.

anonymous ()
Ответ на: комментарий от anonymous

отлично справляется с обратной совместимостью много релизов к ряду.

perl6?

baverman ★★★ ()

А правда что питоноиндентация даже хуже лиспоскобок?

rand ()

Ура! Python3 это шаг вперед от Python2, мне двойка неудобна тем, что приходится задумываться об юникоде.

pashazz ★★★★ ()

Вот это действительно новость!

Просто праздник для души!

Strannik-j ()
Ответ на: комментарий от baverman

Нет, perl6 тут ни при чём. Сложно обсуждать мёртворождённых, но, насколько я понимаю, perl6 не является по мнению авторов наследником perl5. А вот в perl5 от 8 до 16 - ничего не поломано.

anonymous ()
Ответ на: комментарий от anonymous

Они, вроде, и сами забили на perl6 - решили развивать perl5 постепенно, внедряя новые вещи и выкидывая старые, обеспечивая совместимость по-умолчанию. Например в 5.16 уже какие-то новведения есть, и удален deprecated-мусор, но, по-умолчанию включена совместимость с 5.14, для включения 5.16 надо использовать use 5.16 или что-то типа того. Так, в 5.18 удалят совместимость с 5.14, по-умолчанию будет 5.16, для нового - use 5.18. И так далее.

XVilka ★★★★ ()

Вскоре после этой демонстрации основные разработчики проекта решили использовать six в качестве слоя совместимости.

six это хорошо!

и уж точно лучше чем 2to3 :-)

user_id_68054 ★★★★★ ()
Ответ на: комментарий от XVilka

Ну вот о чём и речь: за что угодно можно Perl ругать, но политика обеспечения обратной совместимости у них очень продумана. Мне в своё приходилось слышать отдельные болевые вскрики при переводе XS-модулей с 5.8 на 5.10, но такое происходило нечасто.

anonymous ()
Ответ на: комментарий от dismal_faun

Странный этот ваш six.

чего странного? может лучше попробуешь сделать на Python3 хотябы это:

s = b'превед мир'
print(s) # до этой строчки уже не дойдёт :-)
user_id_68054 ★★★★★ ()
Ответ на: комментарий от dismal_faun

а вот если six сделает ошибку ТУТ --

binary = six.u('превед мир').encode('utf-8')

.. то да — я скажe что он гавнистый.. но думаю что ошибки не будет :-)

user_id_68054 ★★★★★ ()
Ответ на: комментарий от harper

Нет, нужен только Plain C. Всё остальное от дьявола.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.