A meglévő pár soros Python kódom, hogy tudom futtatni a böngészőbe?
A webszervert nem mondtad, apache esetén a cgi-bin/ be kell rakni és engedélyezni, hogy onnan futtatni lehessen scripteket.
Példa itt: [link]
A Python - a PHP-vel szemben - alapvetően nem elsődlegesen a "webszerverbe beépülő" szkriptnyelv, hanem attól különálló, univerzális nyelv.
Meg lehet oldani, hogy a PHP-hez hasonlóan "viselkedjen" - például:
Egy másik megoldás, hogy a Python-ból alakítasz ki webszervert.
Ilyesmire szolgál a beépített http.server:
de vannak keretrendszerek is, mint például a Django:
vagy a Flask:
Harmadik megoldásként - ha például egy Pythonos szkriptedet meg akarod mutatni működés közben másnak, de nincs az adott gépen Python-értelmező - vannak online "Python-környezetek" - mint például:
#4:
"A VS Code-t használtam, szépet fut a pár soros python kódom"
Gyanítom mert fel van mellé telepítve a Python értelmező (Linux alatt alapból, Windows alatt külön).
" Próbáltam PHP-be menteni, nem sikerült, minden féle hibát ír ki. "
Persze, hisz ha .php kiterjesztéssel mented, akkor a (webszerver) PHP értelmező(je) nem tud mit kezdeni a Python-utasításokkal.
"Én azt hittem simán beillesztem a kód sorokat a html fájl body részbe."
A HTML-kódba meg főleg nem - a webböngésző sem tud mit kezdeni a Python-kóddal.
"válaszokkal sajnos nem sokra mentem"
Szerintem te sem tudod igazán, hogy mit akarsz.
Szerveroldalon szeretnéd futtatni a Python scripted, hogy a böngésző által értelmezhető kimenetet adjon, vagy kliensoldalon, a böngészőben szeretnéd futtatni?
Előbbire több megoldást is írtak, CGI binárisként való futtatás, Flask, Django, stb., utóbbira pedig írtam, hogy át kell fordítani Webassemblyre.
De elsősorban neked kell tudnod, hogy mit szeretnél elérni.
Ezek szerint fogalmad sincs, hogy hogy működik ez, így nem lesz könnyű. Miért nem írtad akkor php-ban? Bár tökmindegy, webszerver oldalról ez kb. pont olyan, tökmindegy, hogy php scriptet, python scriptet, vagy akár egy bash scriptet, vagy egy binárist futtatsz. Kicsit másként kell, de az elv ugyanaz.
Ahhoz, hogy a webszerveren keresztül futtatva jó legyen a python scriptetdnek html kódot kell generálnia, mivel a böngészők mással nem fognak tudni mit kezdeni. Idáig megvan? Szerintem nincs, ha a vscode-ban szépen fut. Amid van, az egy cli-ben működő kód, az nem lesz jó a webre.
"De akkor miért írják mindenhol, hogy mennyire jó Python, mindenhez használható, webszerkesztéshez is."
Hát mert így is van. De ez NEM azt jelenti, hogy fogod a kis Python scriptedet, és csak úgy belerakod a böngészőbe.
A lokálisan futtatott paranccsoros scripted a standard inputról (ami rendszerint a billentyűzet) várja a bementet, és a standard kimenetre (ami rendszerint a konzolablak, amiben futtatod) küldi ki a kimenetet.
Egy szerveroldalon futtatott script viszont HTTP kéréseket kap, és egy HTML dokumentummal válaszol.
És megint elágazik a dolog, mert több lehetőség is van. Vagy valamilyen dedikált HTTP szerverrel szolgálod ki a kérést, pl. Apache, nginx, Caddy, vagy használod a Python beépített webszerverét (python -m http.server 8080), de ez inkább csak fejlesztési célokra való. Vagy futtathatod valamilyen egyéb módon, CGI scriptként a Python scriptedet.
És itt megint el kell dönteni, hogy csak a "pure" Python-t használod, vagy valamilyen keretrendszert is, mint pl. a már említett Flask, Django, stb. Pythonnál erősen ajánlott valamilyen keretrendszert használni.
Van itt két oldal, ezeken találsz leírásokat, hogyan kell belekezdni a szerveroldali Python használatba:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!