{"id":7422,"date":"2026-08-20T18:34:12","date_gmt":"2026-08-20T16:34:12","guid":{"rendered":"https:\/\/www.webhostingsrbija.rs\/?p=7422"},"modified":"2026-08-20T18:34:12","modified_gmt":"2026-08-20T16:34:12","slug":"python-aplikacije","status":"publish","type":"post","link":"https:\/\/www.webhostingsrbija.rs\/en\/python-aplikacije\/","title":{"rendered":"Python applications (Django, Flask) in WHSPanel"},"content":{"rendered":"<p>Python App Manager pokre\u0107e WSGI i ASGI Python aplikacije (Django, Flask, FastAPI i druge) preko Nginx Unit, koji sam upravlja procesima i virtuelnim okru\u017eenjem. Zavisnosti se instaliraju iz <code>requirements.txt<\/code>, bez potrebe za SSH pristupom. Radi po istom principu kao Node.js App Manager.<\/p>\n\n<h2>1. Pregled<\/h2>\n<p>U meniju otvori <strong>Software<\/strong> well <strong>Python<\/strong>. Tabela prikazuje tvoje aplikacije sa kolonama <strong>Naziv aplikacije<\/strong>, <strong>Python<\/strong> (verzija), <strong>Tip<\/strong> (WSGI ili ASGI), <strong>Entry modul<\/strong>, <strong>Status<\/strong> and <strong>Akcije<\/strong>.<\/p>\n\n<h2>2. Kako da kreira\u0161 aplikaciju<\/h2>\n<ol>\n<li>Click <strong>Kreiraj aplikaciju<\/strong>.<\/li>\n<li><strong>Naziv aplikacije<\/strong> and <strong>Domain<\/strong>.<\/li>\n<li><strong>Python verzija<\/strong> (na primer 3.11).<\/li>\n<li><strong>Direktorijum aplikacije<\/strong> gde je kod.<\/li>\n<li><strong>WSGI\/ASGI modul:<\/strong> ulazna ta\u010dka (na primer <code>myapp.wsgi:application<\/code>).<\/li>\n<li><strong>Tip aplikacije:<\/strong> <strong>WSGI<\/strong> za sinhrone (Django, Flask) ili <strong>ASGI<\/strong> za asinhrone.<\/li>\n<li><strong>Promenljive okru\u017eenja<\/strong> po potrebi, pa klikni <strong>OK<\/strong>.<\/li>\n<\/ol>\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a87773f9c31d&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a87773f9c31d\" class=\"wp-block-image size-large wp-lightbox-container\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"640\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.webhostingsrbija.rs\/wp-content\/uploads\/2026\/08\/python-create-p-1024x640.png\" alt=\"Dijalog Kreiraj Python aplikaciju\" class=\"wp-image-7543\" title=\"\" srcset=\"https:\/\/www.webhostingsrbija.rs\/wp-content\/uploads\/2026\/08\/python-create-p-1024x640.png 1024w, https:\/\/www.webhostingsrbija.rs\/wp-content\/uploads\/2026\/08\/python-create-p-300x188.png 300w, https:\/\/www.webhostingsrbija.rs\/wp-content\/uploads\/2026\/08\/python-create-p-768x480.png 768w, https:\/\/www.webhostingsrbija.rs\/wp-content\/uploads\/2026\/08\/python-create-p-1536x960.png 1536w, https:\/\/www.webhostingsrbija.rs\/wp-content\/uploads\/2026\/08\/python-create-p-2048x1280.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-block-image__caption\">Kreiranje Python aplikacije: verzija, WSGI\/ASGI modul i tip.<\/figcaption><\/figure>\n\n\n<h2>3. Kontrole nad aplikacijom<\/h2>\n<p>Kada je aplikacija napravljena, pojavi se u tabeli sa istim setom kontrola kao kod Node aplikacija:<\/p>\n<table>\n<thead><tr><th>Control<\/th><th>\u0160ta radi<\/th><\/tr><\/thead>\n<tbody>\n<tr><td><strong>Pokreni<\/strong> \/ <strong>Zaustavi<\/strong> \/ <strong>Restartuj<\/strong><\/td><td>Pokre\u0107e, zaustavlja i ponovo pokre\u0107e aplikaciju.<\/td><\/tr>\n<tr><td><strong>pip install<\/strong><\/td><td>Instalira zavisnosti iz <code>requirements.txt<\/code> u izolovano virtuelno okru\u017eenje.<\/td><\/tr>\n<tr><td><strong>Izmeni<\/strong><\/td><td>Menja pode\u0161avanja (verzija, modul, promenljive okru\u017eenja).<\/td><\/tr>\n<tr><td><strong>Obri\u0161i<\/strong><\/td><td>Uklanja aplikaciju.<\/td><\/tr>\n<\/tbody>\n<\/table>\n\n<blockquote><p><strong>Note:<\/strong> za Django je modul obi\u010dno <code>projekat.wsgi:application<\/code>, a u promenljive okru\u017eenja doda\u0161 <code>DJANGO_SETTINGS_MODULE<\/code>. Pre pokretanja postavi kod i <code>requirements.txt<\/code> u direktorijum aplikacije, pa pokreni instalaciju zavisnosti i startuj aplikaciju.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>How to run a Python application (Django, Flask, FastAPI) in WHSPanel via Nginx Unit, without SSH.<\/p>","protected":false},"author":1,"featured_media":7311,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[211,203],"tags":[],"class_list":["post-7422","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-softver","category-whs-panel"],"_links":{"self":[{"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/posts\/7422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/comments?post=7422"}],"version-history":[{"count":1,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/posts\/7422\/revisions"}],"predecessor-version":[{"id":7576,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/posts\/7422\/revisions\/7576"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/media\/7311"}],"wp:attachment":[{"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/media?parent=7422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/categories?post=7422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webhostingsrbija.rs\/en\/wp-json\/wp\/v2\/tags?post=7422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}