LINUX.ORG.RU

Django 1.3 вышел в свет

 , , ,


0

3

После долгих месяцев разработки в свет наконец вышла новая версия этого довольно популярного веб-фреймворка, написанного на Python.

В первую очередь стоит отметить то, что 1.3 — это последняя версия фреймворка, которая будет поддерживать Python 2.4. Уже с версии 1.4 наличие в системе Python 2.5 будет обязательным условием.

Основные нововведения:

  • основанные на классе представления (view);
  • встроенная поддержка средств Python для ведения логов;
  • встроенная поддержка для более простого управления статичным содержимым сайта;
  • платформа для тестирования Django теперь поддерживает библиотеку unittest2;
  • улучшения в поддержке перевода: контекстные маркеры и комментарии у строковых ресурсов.

>>> Подробности

★★★

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

Пока не сделают нормальный шаблонизатор - не нужно.

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

А это когда пацаны, вчера слезшие с PHP, могут легко вообще всю логику в шаблоны запихать - тогда это для этих пацанов нормальный шаблонизатор.

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

есть словарь:

d = {'a':1, 'b': 2}

есть ключ с заведомо неизвестным значением k.

как отобразить в шаблоне d[k]?

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

посмотри вопрос ниже твоего поста.

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

Дано: есть каша в шаблоне.

Решить: как по консинстенции и типу каши узнать стаж автора в php.

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

Если ты покажешь способ решения проблемы, тогда я поклонюсь тебе и назову Мастером, а до того ты просто балабол.

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

И да, реши проблему без написания собственных фильтров, а в view, как советовал твой колега.

anonymous ()

Основанные на класса представления (view)

Fix required!

И да, пост-детектор получился;)

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

Написать свой тег если уж так хочется это сделать в шаблоне.

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

> И да, реши проблему без написания собственных фильтров, а в view, как советовал твой колега.

Если мсье сторонник решения проблем методом «назло маме обморожу лучше», и ищет не лучшее решение проблемы, а усложняет себе жизнь - то он точно только вчера с php слез.

Проблемы свои решай самостоятельно. А шаблон - это всё таки шаблон.

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

> Если ты покажешь способ решения проблемы, тогда я поклонюсь тебе и назову Мастером, а до того ты просто балабол.

Заниматься самоунижением, чтобы один недалёкий во что-то поверил или не поверил? Детский сад, игра «кто круче».

kid_lester ()

Когда оно будет поддерживать Python 3?

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

Когда оно будет поддерживать Python 3?

А его кто-то всерьёз воспринимает? :)

(Я про Python 3)

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

Когда оно будет поддерживать Python 3?

есть форки, на сколько они живы хз

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

А его кто-то всерьёз воспринимает? :)

(Я про Python 3)

Большинство вменяемых программистов на Python понимают необходимость миграции на третью ветку рано или поздно. Ряд основополагающих проектов, например, numpy/scipy и pyQT уже реализовали поддержку Python 3.x.

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

лет через 5 наверное. я вот думаю пока изучать cherrypy там поддержку python3 добавили да и вообще более питонистый и простой фреймворк.

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

Каша в шаблонах - это плохой тон программирования даже в том же php. Логика отображения во view-хах.

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

А, ну так может им это...проще опять на этот свой PHP залезть?:)

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

он ущербен by-design из-за того, что написан на питоне

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

Используйте другие шаблонизаторы, если уж так хочется больше логики в шаблонах. Большинству это не нужно.

init ★★★★★ ()

> Основанные на класса представления (view)

Раз уж исправляете, так хоть за логикой предложения то следите:)

mega_venik ★★★ ()

В джанге хреновый urls.py. Из очевидного.

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

> В джанге хреновый urls.py. Из очевидного.

а можно с примерами? что там хренового?

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

> Кто-то на лоре писал что Django ущербен by-design. Это так?

да

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

> а можно с примерами? что там хренового?

тем, что его вообще не должно быть, и идея вьюх привязанных к классам — она тоже порочная. Это питон! Есть модули, есть декораторы, есть возможность импорта модулей по пути. Она написана совершенно не так, как нужно делать это в питоне.

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

> что его вообще не должно быть

А что должно быть? Где сделано так как нужно?

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

> а можно с примерами? что там хренового?

Из явного --- занудное задание регулярных выражений для целых чисел и получение их в виде строк во view-методы

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

Во flask-е
Но я предпочитаю немного иной подход (похоже на pylons — там тоже лучше чем в django, но есть несколько совершенно лишних шагов):

Заводится каталог controllers
В каталоге controllers создаются модули cont1.py, cont2.py и т.д.
В этих модулях все функции декорированные action привязываются к URL
вида /controllers/contX/<func name>/arg1/arg2… . В питоне 3 с его аннотациями можно будет ещё автоматически вешать нужные условия на argX. Вот, всё прозрачно, определяется в одном месте — это pythonic. А как сделано в джанго вообще непонятно.

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

Вот тут у меня нет уверенности, что это будет удобно.

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

Это очень удобно. Если нужно какое-то особое имя пути — всегда есть соотв. декоратор.

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

> на джаве/grails, очевидно же

Платформу JVM оставьте Ъ-ентерпрайзу, пожалуйста. Вам никто не запрещает ею пользоваться, а я, к примеру, хочу писать с удовольствием.

sv75 ★★★★★ ()

> Основанные на класса представления (view)

Такие view можно было делать всегда. Другое дело, что добавили class-based _generic_ views и сказали - рекомендуем их использовать, да

Analogs of all the old function-based generic views have been provided, along with a completely generic view base class that can be used as the basis for reusable applications that can be easily extended.


P.S.> Новость оформлена сверх коряво. Корректоров уже всех порасстреливали?

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

В том и дело. Получать единый список этих путей придется анализом декораторов %(

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

> Получать единый список этих путей придется анализом декораторов %(

это что, сложно? Так или иначе, для этого придётся проверять всего два декоратора.

Joe_Bishop ()

Не понимаю смысла вести web разработку на питонах и прочих php.

В наши дни создан .Net инструментарий и сысокопроизводительные фреймворки для разработки любых сайтов.

Сообщество тратит много времени на разработку откровенных велосипедов. Почему не использовать документированный и протестированный временем C# не понятно, видимо, не только мне.

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

Не сложно, конечно.

Кстати, я еще не уверен, что руление urls из единого места --- такая уж неправильная идея.

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

> вида /controllers/contX/<func name>/arg1/arg2…

Какието нечеловеческие урлы получаются.

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

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

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