{"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\/sq\/blog\/news\/vypusk-web-frejmvorka-django-3-0","title":{"rendered":"L\u00ebshimi i web-framorkut 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\/\">U zhvillua<\/a><\/noindex>  l\u00ebshimi i web-korniz\u00ebs <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/releases\/3.0\/\">Django 3.0<\/a><\/noindex>, e shkruar n\u00eb gjuh\u00ebn Python dhe e destinuar p\u00ebr zhvillimin e aplikacioneve web. Dega Django 3.0 i p\u00ebrket kategoris\u00eb s\u00eb l\u00ebshimeve me mb\u00ebshtetje t\u00eb zakonshme dhe do t\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.djangoproject.com\/download\/#supported-versions\">marr\u00eb<\/a><\/noindex> p\u00ebrdit\u00ebsime deri n\u00eb prill 2021. Dega LTS 2.22 do t\u00eb mb\u00ebshtetet deri n\u00eb prill 2022, nd\u00ebrsa dega 1.11 deri n\u00eb prill 2020. Mb\u00ebshtetja p\u00ebr degen 2.1 \u00ebsht\u00eb nd\u00ebrprer\u00eb. <\/p>\n<p>Karakteristikat kryesore <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/releases\/3.0\/\">p\u00ebrmir\u00ebsime<\/a><\/noindex>: <\/p>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/howto\/deployment\/asgi\/\">U ofrua<\/a><\/noindex> mb\u00ebshtetjes p\u00ebr funksionimin n\u00eb m\u00ebnyr\u00eb asinkrone me ekzekutimin si nj\u00eb aplikacion ASGI. Nd\u00ebrfaqja <noindex><a rel=\"nofollow\" href=\"https:\/\/asgi.readthedocs.io\/\">ASGI<\/a><\/noindex> (Asynchronous Server Gateway Interface) \u00ebsht\u00eb zhvilluar si nj\u00eb z\u00ebvend\u00ebsim p\u00ebr WSGI, me q\u00ebllim q\u00eb t\u00eb siguroj\u00eb nd\u00ebrveprimin mes server\u00ebve, kornizave dhe aplikacioneve q\u00eb mb\u00ebshtesin funksionimin n\u00eb m\u00ebnyr\u00eb asinkrone. Mb\u00ebshtetja p\u00ebr ekzekutimin duke p\u00ebrdorur WSGI \u00ebsht\u00eb ruajtur, nd\u00ebrsa kodi i lidhur me m\u00ebnyr\u00ebn asinkrone p\u00ebrfshihet vet\u00ebm kur ekzekutohet n\u00eb mjedise t\u00eb bazuara n\u00eb ASGI.\n<p>P\u00ebr modin asinkron, \u00ebsht\u00eb implementuar nj\u00eb cik\u00ebl i ve\u00e7ant\u00eb i p\u00ebrpunimit t\u00eb ngjarjeve (event loop), n\u00eb t\u00eb cilin nuk lejohet thirrja e kodit t\u00eb markuar si 'async unsafe'. Nj\u00eb shembull i till\u00eb \u00ebsht\u00eb operacionet me baz\u00ebn e t\u00eb dh\u00ebnave (ORM), t\u00eb cilat nuk duhet t\u00eb p\u00ebrdoren n\u00eb nj\u00eb kontekst asinkron (n\u00eb k\u00ebt\u00eb rast do t\u00eb shfaqet nj\u00eb gabim SynchronousOnlyOperation) dhe duhet t\u00eb nxirren n\u00eb nj\u00eb rrjedh\u00eb sinqor\u00ebsh.<\/p>\n<li class=\"l\"> Jan\u00eb shtuar tipe t\u00eb specializuara enumeruese TextChoices, IntegerChoices dhe Choices, t\u00eb cilat mund t\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/ref\/models\/fields\/#field-choices-enum-types\">t\u00eb p\u00ebrdor\u00eb<\/a><\/noindex> p\u00ebrdoren p\u00ebr p\u00ebrcaktimin e fushave tekstuale dhe numerike n\u00eb model, p\u00ebr shembull, kur nevojitet ruajtja n\u00eb fushat e grupeve t\u00eb etiketave t\u00eb lexueshme, t\u00eb p\u00ebrkthyera n\u00eb tipare t\u00eb caktuara:\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\"> \u00cbsht\u00eb shtuar mund\u00ebsia p\u00ebr t\u00eb treguar shprehje q\u00eb japin <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/ref\/models\/fields\/#django.db.models.BooleanField\">BooleanField<\/a><\/noindex>, drejtp\u00ebrdrejt n\u00eb filtrat QuerySet pa i annotuar ato paraprakisht, para se t\u00eb aplikohen p\u00ebr filtrimin e annotatave.\n<li class=\"l\"> \u00cbsht\u00eb siguruar mb\u00ebshtetje zyrtare p\u00ebr baz\u00ebn e t\u00eb dh\u00ebnave MariaDB 10.1 dhe l\u00ebshime m\u00eb t\u00eb reja.\n<li class=\"l\"> P\u00ebr PostgreSQL \u00ebsht\u00eb realizuar klasa <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/ref\/contrib\/postgres\/constraints\/#django.contrib.postgres.constraints.ExclusionConstraint\">ExclusionConstraint<\/a><\/noindex> p\u00ebr t\u00eb p\u00ebrdorur kufizimet t\u00eb bazuara n\u00eb shprehje <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/9.0\/ddl-constraints.html\">EXCLUDE<\/a><\/noindex>;\n<li class=\"l\"> \u00cbsht\u00eb nd\u00ebrprer\u00eb mb\u00ebshtetja p\u00ebr Python 3.5.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Burimi: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51989\">opennet.ru<\/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.1.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\/sq\/blog\/news\/vypusk-web-frejmvorka-django-3-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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\udd47L\u00ebshimi i web-korniz\u00ebs Django 3.0 | ProHoster","description":"Papara ka ndodhur l\u00ebshimi i web-korniz\u00ebs","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/news\/vypusk-web-frejmvorka-django-3-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/53653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=53653"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/53653\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=53653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=53653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=53653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}