{"id":53653,"date":"2019-12-07T00:00:00","date_gmt":"2019-12-06T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/vypusk-web-frejmvorka-django-3-0"},"modified":"2020-02-18T14:01:35","modified_gmt":"2020-02-18T11:01:35","slug":"vypusk-web-frejmvorka-django-3-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-web-frejmvorka-django-3-0","title":{"rendered":"Lansarea web-framework-ului Django 3.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.djangoproject.com\/weblog\/2019\/dec\/02\/django-3-released\/\">A avut loc<\/a><\/noindex>  lansarea framework-ului web <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/releases\/3.0\/\">Django 3.0<\/a><\/noindex>, scris \u00een limbajul Python \u0219i destinat dezvolt\u0103rii aplica\u021biilor web. Ramura Django 3.0 este clasificat\u0103 ca o versiune cu suport obi\u0219nuit \u0219i va fi <noindex><a rel=\"nofollow\" href=\"https:\/\/www.djangoproject.com\/download\/#supported-versions\">s\u0103 ob\u021bin\u0103<\/a><\/noindex> actualizat\u0103 p\u00e2n\u0103 \u00een aprilie 2021. Ramura LTS 2.22 va fi sus\u021binut\u0103 p\u00e2n\u0103 \u00een aprilie 2022, iar ramura 1.11 p\u00e2n\u0103 \u00een aprilie 2020. Suportul pentru ramura 2.1 a fost \u00eencheiat. <\/p>\n<p>Principalele <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/releases\/3.0\/\">\u00eembun\u0103t\u0103\u021biri<\/a><\/noindex>: <\/p>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/howto\/deployment\/asgi\/\">A fost ad\u0103ugat\u0103<\/a><\/noindex> suport pentru func\u021bionarea \u00een mod asincron cu execu\u021bie sub form\u0103 de aplica\u021bie ASGI. Interfa\u021ba de programare <noindex><a rel=\"nofollow\" href=\"https:\/\/asgi.readthedocs.io\/\">ASGI<\/a><\/noindex> (Asynchronous Server Gateway Interface) a fost dezvoltat\u0103 ca o alternativ\u0103 la WSGI, av\u00e2nd drept scop asigurarea interac\u021biunii \u00eentre servere, framework-uri \u0219i aplica\u021bii care suport\u0103 func\u021bionarea \u00een mod asincron. Suportul pentru lansarea utiliz\u00e2nd WSGI este p\u0103strat, iar codul asociat cu modul asincron este inclus doar la lansarea \u00een medii bazate pe ASGI.\n<p>Pentru modul asincron, a fost implementat un ciclu de procesare a evenimentelor (event loop) \u00een care nu este permis apelul codului marcat ca \u201easync unsafe\u201d. Acest tip de cod include, de exemplu, opera\u021bii cu SGBD (ORM), care nu pot fi utilizate \u00een context asincron (\u00een acest caz se va afi\u0219a eroarea SynchronousOnlyOperation) \u0219i trebuie mutate \u00eentr-un fir de execu\u021bie sincron separat.<\/p>\n<li class=\"l\"> Au fost ad\u0103ugate tipuri enumerate specializate TextChoices, IntegerChoices \u0219i Choices, care pot fi <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/ref\/models\/fields\/#field-choices-enum-types\">folosi<\/a><\/noindex> folosite pentru a defini c\u00e2mpuri textuale \u0219i \u00eentregi \u00een model, de exemplu, atunci c\u00e2nd este necesar\u0103 stocarea \u00een c\u00e2mpuri a seturilor de etichete lizibile, traduse \u00een anumite caracteristici:\n<p>   class YearInSchool(models.TextChoices):<br \/>\n        FRESHMAN = 'FR', _('Freshman')<br \/>\n        SOPHOMORE = 'SO', _('Sophomore')<br \/>\n        JUNIOR = 'JR', _('Junior')<br \/>\n        SENIOR = 'SR', _('Senior')<br \/>\n        GRADUATE = 'GR', _('Graduate')<\/p>\n<li class=\"l\"> A fost ad\u0103ugat\u0103 posibilitatea de a specifica expresii care returneaz\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/ref\/models\/fields\/#django.db.models.BooleanField\">BooleanField<\/a><\/noindex>, direct \u00een filtrele QuerySet f\u0103r\u0103 a necesita anota\u021bii prealabile, \u00eenainte de aplicarea pentru filtrarea acestora.\n<li class=\"l\"> S-a asigurat suport oficial pentru baza de date MariaDB 10.1 \u0219i versiuni mai noi.\n<li class=\"l\"> Pentru PostgreSQL a fost implementat\u0103 clasa <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/ref\/contrib\/postgres\/constraints\/#django.contrib.postgres.constraints.ExclusionConstraint\">ExclusionConstraint<\/a><\/noindex> pentru utilizarea constr\u00e2ngerilor bazate pe expresii <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/9.0\/ddl-constraints.html\">EXCLUDE<\/a><\/noindex>;\n<li class=\"l\"> Suportul pentru Python 3.5 a fost \u00eencheiat.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Sursa: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51989\">opennet.ro<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 Django 3.0, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Python \u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412\u0435\u0442\u043a\u0430 Django 3.0 \u043e\u0442\u043d\u0435\u0441\u0435\u043d\u0430 \u043a \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u043e\u0432 \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2021 \u0433\u043e\u0434\u0430. LTS-\u0432\u0435\u0442\u043a\u0430 2.22 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2022 \u0433\u043e\u0434\u0430, \u0430 \u0432\u0435\u0442\u043a\u0430 1.11 \u0434\u043e \u0430\u043f\u0440\u0435\u043b\u044f 2020 \u0433\u043e\u0434\u0430. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432\u0435\u0442\u043a\u0438 2.1 \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0430. \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f: \u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-53653","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-web-frejmvorka-django-3-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 Django 3.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-web-frejmvorka-django-3-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-06T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:35+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lansarea framework-ului web Django 3.0 | ProHoster","description":"Lansarea framework-ului web","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-web-frejmvorka-django-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 Django 3.0 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-web-frejmvorka-django-3-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-06T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:35+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53653","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 08:16:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:21:19","updated":"2026-01-24 08:16:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/53653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=53653"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/53653\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=53653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=53653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=53653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}