LINUX.ORG.RU

Django 2.0

 ,


1

5

Команда Django с радостью объявляет выход Django 2.0.

Django — веб-фреймворк, написанный на Python и реализующий паттерн model-view-template.

С этого релиза в Django будет использоваться свободная форма семантического версионирования. В этой версии нет крупных изменений, которые могли бы вызвать проблемы с обратной совместимостью (кроме отказа от поддержки Python 2.7). Обновление потребует столько же усилий, сколько требовали и предыдущие версии.

Патчноут содержит более детальное описание всех изменений, но основными из них являются:

Вместе с релизом Django 2.0, основная поддержка Django 1.11 окончилась. Долгосрочная поддержка версии 1.11 продлится до апреля 2020 года.

Долгосрочная поддержка Django 1.10 окончена. Все приложения, использующие эту версию, рекомендовано обновить до версии Django 1.11.

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



Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 2)
Ответ на: комментарий от andreymal

И не должен. Апачеподобные комбайны не нужны. Протокол uwsgi поддерживает — этого достаточно.

ну вот надо понимать, что uwsgi сам по себе тот еще костыль. И поэтому настроить джангу в продакшн просто и надежно в три клика не получается. Хотя сам nginx ставится и запускается как раз в три клика.

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

Что такого крутого делают uwsgi/gunicorn, что понадобилась сишка, вместо того чтобы реализовать их в виде питон либы?

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

Для нелюбителей uwsgi (к коим в общем-то отношусь и я) есть gunicorn, который запускается в три клика)

Шо там в этом вашем гуникорне такого, чего в увсги не хватает?

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

ну тащем та и на питоне все это делают.

А так, кроме скорости и экономии ресурсов, питон всем хорош, особенно третий...

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

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

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

Что такого крутого делают uwsgi/gunicorn, что понадобилась сишка, вместо того чтобы реализовать их в виде питон либы?

gunicorn таки на питоне, там лишь пара сторонних либ сишечных. Ещё waitress есть на питоне, вроде бы на чистом питоне, но на прод пускать не пробовал

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

Шо там в этом вашем гуникорне такого, чего в увсги не хватает?

Шо там в этом вашем увсги такого, чего в гуникорне не хватает?

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

ЕМНИП, «wsgi» читается как «виски». Хватит коверкать технические термины).

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

Понятия не имею. Я что-ли заявлял про нелюбовь и три клика? Рассказывай дальше.

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

Нет,

Модуль ngx_http_fastcgi_module позволяет передавать запросы FastCGI-серверу.

Информацию про существование именно бэкенда fastcgi прямо внутри nginx мне найти не удалось. А для передачи запросов другому бэкенду fastcgi поддерживается точно так же, как поддерживаются uwsgi или http

andreymal
()
Последнее исправление: andreymal (всего исправлений: 1)
Ответ на: комментарий от andreymal

1. Django(wsgi) - [ plugin_python + uwsgi ] - nginx

2. Django(wsgi) - [ mod_wsgi apache ]

P.S. Если сходить на : https://docs.djangoproject.com/en/2.0/howto/deployment/wsgi/modwsgi/ то первой строчкой будет фраза :

Deploying Django with Apache and mod_wsgi is a tried and tested way to get Django into production.

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)
Ответ на: комментарий от andreymal

Протокол uwsgi поддерживает — этого достаточно.

Интересно получается, глядим вики : ... Протокол uwsgi (в нижнем регистре) является бинарной реализацией протокола WSGI, оптимизированном для ускорения взаимодействия сервера и приложений

Если бы ngnix держал uwsgi то тогда бы он и wsgi понимал ...

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

nginx поддерживает протокол uwsgi (в нижнем регистре) для общения с сервером веб-приложений uWSGI (не в нижнем регистре), который умеет запускать WSGI-приложения, написанные на Python. Что не так?

http://uwsgi-docs.readthedocs.io/en/latest/Nginx.html

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

Почитайте что такое протокол uwsgi ( в нижнем регистре ) и подумайте зачем ему нужен uWSGI ... Я знаю людей которые думают что ngnix может поддерживать php ;)

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

uwsgi — один из протоколов, используемый для отправки запросов к серверу веб-приложений uWSGI, наравне с другими поддерживаемыми им протоколами HTTP, FastCGI и SCGI. Веб-сервер nginx поддерживает протокол uwsgi и позволяет проксировать запросы к uWSGI по этому протоколу, используя параметр uwsgi_pass.

Обо всём этом прямым текстом написано в самой документации uWSGI: http://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html#putting-behind...

Также о том, что nginx, цитирую, «позволяет передавать запросы uwsgi-серверу», написано в документации самого nginx: http://nginx.org/ru/docs/http/ngx_http_uwsgi_module.html

Я не понимаю, зачем ты пудришь мне мозги, чего ты добиваешься?

andreymal
()
Последнее исправление: andreymal (всего исправлений: 1)
Ответ на: комментарий от andreymal

А чем по вашему отличается uwsgi от wsgi ? Я не парю вам мозги просто показываю что по сути ngnix ничего сам не может.

Я не говорю что это плохо или хорошо, просто это факт.

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

Не знай смогу я ответить на ваш вопрос или нет, но попробую. Как то спросили у разрабов Торнадо, типа у вас есть модуль tornado.wsgi. Они сказали что это типа для отладки так как интерфейс wsgi синхронный и так запускать торнадо смысла нет.

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

uwsgi — протокол, wsgi — питонячий интерфейс. Это технически абсолютно разные вещи, которые никак, кроме совпадением четырёх букв в названии, не связаны.

Nginx никак не умеет wsgi и прекрасно умеет uwsgi.

uwsgi может работать без wsgi.

wsgi может работать без uwsgi. Точнее, wsgi вообще никак не работает, wsgi-приложение это просто callable-объект, которого вызывает кто-нибудь другой. А уж кто вызывает, зачем и по какому протоколу будет отдаваться результат — wsgi-приложения уже никак не касается.

по сути ngnix ничего сам не может

Напомню, что пару страниц назад я именно это и говорил: протокол uwsgi поддерживает — и этого достаточно. К чему вся эта мозгомойка?

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

Протокол uwsgi (в нижнем регистре) является бинарной реализацией протокола WSGI

Во-первых, пруф на uwsgi-docs.readthedocs.io пожалуйста. Никакого подобного утверждения у меня самого найти там не получается, что неудивительно, потому что это утверждение выглядит просто как бред.

Во-вторых, ещё раз, WSGI — это питонячий интерфейс. Всё остальное, включая uwsgi — максимум что-то похожее на WSGI, но не сам WSGI.

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

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

andreymal
()
Последнее исправление: andreymal (всего исправлений: 1)
Ответ на: комментарий от mx__

«The uwsgi protocol is a wire protocol used over the socket between processes with uWSGI. It cannot be compared to WSGI, which is a programmatic API for Python. The uwsgi protocol is more akin to FASTCGI, or SCGI. It is language agnostic.»

Вот, как я и говорил. К автору апачевого mod_wsgi у меня доверия больше, чем к непонятно кому с ЛОРа, копипастящему бред из википедии.

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

Согласен, тем более каждый останется при своем. Для меня нгних ни какой не веб-сервер ( статика в рассчет не идёт ) а всего лишь прокси перед сервером приложений.

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

Для меня нгних ни какой не веб-сервер ( статика в рассчет не идёт )

Так может с этого надо было начинать? ))

А то я тут тоже тихонько офигеваю как наблюдатель, что полстраницы можно толочь воду в ступе про казалось бы очевидные вещи :-)

uwsgi это есть протокол к бекэнду, UWSGI — Python API.

nginx, в данном конкретном случае, фронтенд в понятии веб-серверного ПО.

ЛОР такой ЛОР, однако!

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

Для меня нгних ни какой не веб-сервер ( статика в рассчет не идёт ) а всего лишь прокси перед сервером приложений.

Да блин, так и я же о том же самом говорю две страницы подряд! Он проксирует запросы к серверу приложений uWSGI, используя протокол uwsgi, что не так-то блин?

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

А во втором же сообщении начинаются «Протокол uwsgi (в нижнем регистре) является бинарной реализацией протокола WSGI» и «Если бы ngnix держал uwsgi то тогда бы он и wsgi понимал ...», что есть 4.2 и бред, а я по невнимательности повёлся)

Всё, больше не буду отвечать, надоело

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

Да мне не понравилась фраза : Django 2.0 (комментарий)

Типа апач подобные комбайны не нужны, но мы будем использовать другие комбайны ( в данном случае uwsgi ) лишь бы не юзать апач, а использовать этот недосервер нгних.

P.S. кстати да на вики всякую фигню пишут. https://ru.m.wikipedia.org/wiki/Nginx Этому недосерверу приписали поддержку wsgi ;)

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)

Объясните идиоту, как в питоне определяется тип аргументов в функциях?

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

Типа апач подобные комбайны не нужны, но мы будем использовать другие комбайны ( в данном случае uwsgi ) лишь бы не юзать апач, а использовать этот недосервер нгних.

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

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

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

Модов чего ? Апача или uWSGI ? Нужно юзать правильный дистрибутив.

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

Наверное чтобы статику раздавать не спавня поток на
каждую картиночку

Обычно перед апачем ставят этот самый нгних из-за чего сложилось впечатление что последний очень популярный ...

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

Как это опровергает довод о порождении треда на каждую картиночку?)

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

как в питоне определяется тип аргументов в функциях?

Никак. Есть docstrings и type hints, но они для людей или сторонних утилит и самим питоном никак не используются

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

хочешь проверить тип аргумента (если надо), в начала функции делаешь

assert isinstance(arg1, int)
BigAlex ★★★
()
Последнее исправление: BigAlex (всего исправлений: 1)
Ответ на: комментарий от pylin

За Gunicorn не скажу не юзал. А про uWSGI уже выше выяснили, его в продакшене просто юзать нельзя ему нужно какой нибудь «прокси» (а-ля нгних) сверху лепить.

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)
Ответ на: комментарий от pylin

Зачем этот разжиревший продукт?

Чтобы не использовать за место него кучу других.

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

yum list | grep mod_ | wc -l
21
mx__ ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.