[python 3.7]script uitvoeren via website

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 21:55

St@m

@ Your Service

Topicstarter
Ik heb volgens mij best wel een basic vraag, maar na uren zoeken op het internet en allerlei 'moeilijke dingen' als zelf apps bouwen e.d. zie ik door de bomen het bos niet meer.

Ik heb een python bestand met de volgende code
print("Hello world")

Uiteraard heb ik wel iets grote files, maar daar gaat het even niet om, ze eindigen allemaal met een print.
Ik wil deze pyhton files kunnen aanklikken op mijn (lokale) website met als bedoeling dat ze gerund worden. Plain text, niet meer, niet minder. Dus op het moment dat ik op de link klik moet er in beeld komen te staan Hello world.


Blijkbaar is het iets ingewikkelder dan ik dacht :P want ik kom er niet meer uit.
Ik heb Django CMS geïnstalleerd, een basic website gemaakt.. en nu?

Denk ik te simpel?

[ Voor 4% gewijzigd door St@m op 19-04-2019 14:38 ]

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels

Beste antwoord (via St@m op 11-05-2019 12:06)


  • joekoe
  • Registratie: Februari 2009
  • Laatst online: 18-09-2024
Waarom output je je gegevens niet gewoon naar een simpele HTML file en bied je die aan op een webserver? Veel makkelijker gaat het niet worden.

Alle reacties


Acties:
  • 0 Henk 'm!

  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 23:54
Bedoel je zoiets als Jupyter Notebook? voorheen IPython Notebook :).

My favorite programming language is solder.


Acties:
  • 0 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 21:55

St@m

@ Your Service

Topicstarter
Puch-Maxi schreef op vrijdag 19 april 2019 @ 14:40:
Bedoel je zoiets als Jupyter Notebook? voorheen IPython Notebook :).
Ja zoiets, en dan op mijn website :p
Gewoon het script aftrappen en de output printen

[ Voor 11% gewijzigd door St@m op 19-04-2019 14:44 ]

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • +2 Henk 'm!

  • Stoelpoot
  • Registratie: September 2012
  • Niet online
Het simpelste antwoord is: Nee, je kan Python code wat op de webserver geïnstalleerd staat niet op de clientmachine uitvoeren.

Het lastigere antwoord is nog steeds nee, maar dan met wat uitleg. Python is een taal die door een computer kan worden uitgevoerd door een gebruiker, die dit zowel handmatig (klik op bestand) of automatisch (via een timer e.d.) kan uitvoeren. Echter, in een webbrowser kan je niet zomaar code uitvoeren op de computer van de gebruiker, want dan zou je door een website te bezoeken opeens bestanden kunnen verwijderen of malafide programma's kunnen installeren. Dus kan je op een computer van een ander niet zomaar code uitvoeren.

> "Maar hoe doen andere websites dat dan, Stoelpoot?"

Webbrowsers ondersteunen wel Javascript, een programmeertaal die hoofdzakelijk voor browsers ontwikkeld is. Dat voeren ze uit in een "Sandbox" een omgeving waarin een programma kan draaien zonder toegang te hebben tot het gehele systeem. Met die taal zou je wel, zodra je op een knop drukt, tekst kunnen weergeven op de computer van de gebruiker.

> "Maar waarom ondersteunen ze andere programmeertalen niet?"

Omdat het verrekte veel werk is een taal te sandboxen, en door duizendeneen talen te ondersteunen heb je duizendeneen maar kans op bugs waardoor een malafide website computers kan veranderen in luxe deurstoppers.

EDIT: Als toevoeging, ja met WebAssembly, Websockets en andere zaken zal je dit tegenwoordig best voor elkaar kunnen krijgen. Maar ik haal uit je post dat je nog helemaal niet zoveel ervaring hebt met webdevelopment (want, om het heel grof te zeggen, iemand die al wat meer ervaring had zou deze vraag niet stellen), dus is Javascript voor jou gewoon de enige haalbare oplossing op korte termijn, en op lange termijn zal je voor het bovenstaande toch alsnog Javascript moeten kennen al is het maar puur om webdevelopment conceptueel te begrijpen.

[ Voor 16% gewijzigd door Stoelpoot op 19-04-2019 14:56 ]


Acties:
  • 0 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 21:55

St@m

@ Your Service

Topicstarter
Helaas dan maar.. :/
Had gehoopt dat het een beetje net als PHP zou werken.

En klopt, ik heb niet al te veel ervaring. Ben ook geen webdeveloper. Had gehoopt dat ik resultaten kon delen via mijn eigen webserver, maar dat zit er dan niet in :P

[ Voor 52% gewijzigd door St@m op 19-04-2019 14:58 ]

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • 0 Henk 'm!

  • Stoelpoot
  • Registratie: September 2012
  • Niet online
St@m schreef op vrijdag 19 april 2019 @ 14:56:
Helaas dan maar.. :/
Had gehoopt dat het een beetje net als PHP zou werken.

En klopt, ik heb niet al te veel ervaring. Ben ook geen webdeveloper. Had gehoopt dat ik resultaten kon delen via mijn eigen webserver, maar dat zit er dan niet in :P
Je kan natuurlijk wel een website maken met behulp van Python. Dat heb je gezien in Django. Maar dan werkt een Print() inderdaad niet, want dat stuurt data naar de console output. Met Django ben je wel op de juiste weg om een website te schrijven.

Heb je Django geinstalleerd? Dan kan je kijken naar de tutorial om te leren hoe je een functionele website maakt.

Acties:
  • 0 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 21:55

St@m

@ Your Service

Topicstarter
Stoelpoot schreef op vrijdag 19 april 2019 @ 15:04:
[...]


Je kan natuurlijk wel een website maken met behulp van Python. Dat heb je gezien in Django. Maar dan werkt een Print() inderdaad niet, want dat stuurt data naar de console output. Met Django ben je wel op de juiste weg om een website te schrijven.

Heb je Django geinstalleerd? Dan kan je kijken naar de tutorial om te leren hoe je een functionele website maakt.
Dank voor je reactie, een website maken is het probleem niet :) (staat ook in de TS)
Ik ga mijn resultaten wel opslaan als PDF ofzo en ze dan delen.

[ Voor 5% gewijzigd door St@m op 19-04-2019 15:07 ]

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • 0 Henk 'm!

  • Stoelpoot
  • Registratie: September 2012
  • Niet online
St@m schreef op vrijdag 19 april 2019 @ 15:06:
[...]


Dank voor je reactie, een website maken is het probleem niet :)
Dan heb ik toch wel wat meer details nodig. Want je hebt nu al werkende Python-code, je hebt ook al de vaardigheden om een website te maken, maar je hebt verder geen aanknopingspunten hoe je de output van een Python-programma kan tonen op een website? Wat is jouw kennisniveau ongeveer w.b. programmeren?

Acties:
  • 0 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 00:02
St@m schreef op vrijdag 19 april 2019 @ 15:06:
[...]


Dank voor je reactie, een website maken is het probleem niet :) (staat ook in de TS)
Ik ga mijn resultaten wel opslaan als PDF ofzo en ze dan delen.
wat is dan je probleem? Je kan je python code zo aanpassen dat het als een Django view wordt uitgevoerd en de output naar de browser wordt gestuurd. Niet al te moeilijk om te doen....

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 21:55

St@m

@ Your Service

Topicstarter
Ramon schreef op vrijdag 19 april 2019 @ 15:09:
[...]
wat is dan je probleem? Je kan je python code zo aanpassen dat het als een Django view wordt uitgevoerd en de output naar de browser wordt gestuurd. Niet al te moeilijk om te doen....
Nou, dan is dit toch het probleem :P Het kan dus wel wat ik wil.. 8)7 een Django view.. ik zal eens kijken.

Ik wil gewoon de output van mijn Python files zichtbaar hebben op de website..

Zoals gezegd.. mijn file bevat
code:
1
print("hello world")


Of een plot for that matter..
Ik wil gewoon die output zichtbaar hebben. Basic Python.

[ Voor 23% gewijzigd door St@m op 19-04-2019 15:14 ]

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • 0 Henk 'm!

  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 23:54
St@m schreef op vrijdag 19 april 2019 @ 14:41:
[...]
Ja zoiets, en dan op mijn website :p
Gewoon het script aftrappen en de output printen
Zoiets als http://www.skulpt.org/ of http://bottlepy.org/docs/...ml#quickstart-hello-world of http://webpy.org/cookbook/helloworld Moet het ook interactief zijn? :)

My favorite programming language is solder.


Acties:
  • 0 Henk 'm!

  • Stoelpoot
  • Registratie: September 2012
  • Niet online
St@m schreef op vrijdag 19 april 2019 @ 15:10:
[...]

Zoals gezegd.. mijn file bevat
code:
1
print("hello world")


Of een plot for that matter..
Ik wil gewoon die output zichtbaar hebben. Basic Python.
Dan doe je dat op dezelfde manier dat je op de website al output toont? Met print() gaat het niet, dat stuurt de output naar de console en niet naar de web output. Maar als je nu al output op een website krijgt, wat houd je dan tegen om dat met de resultaten van je andere scripts ook te doen?

Acties:
  • 0 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 21:55

St@m

@ Your Service

Topicstarter
Nee, dat is echt al te ingewikkeld. Ik ben bezig met een stukje Data Science en ik moet een PoC opleveren. Opdrachtgever heeft bedacht dat hij het in een webomgeving wil zien. Prima.

De data wordt wat opgeschoond, beetje lineaire regressie en daar komt een voorspelling uit. In de vorm van wat tekst of een plotje.

Dus: "klik hier voor de voorspelling van 2020" (o.i.d.)
Op het moment dat er dus wordt geklikt wordt het script afgetrapt (waarin ik de mambo jambo doe) en wordt de uitkomst getoond.

@Stoelpoot Ik denk niet dat wij op dezelfde lijn zitten.

[ Voor 8% gewijzigd door St@m op 19-04-2019 15:33 ]

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-10 08:45
Even voor de duidelijkheid, wat is nou de bedoeling?

Moet het script lokaal op de machine van de bezoeker gedraaid worden?

Of moet het script op de webserver gedraaid worden?


Dat laatste kan prima. Dat eerste zou je uit je hoofd moeten zetten.

Acties:
  • 0 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 21:55

St@m

@ Your Service

Topicstarter
mcDavid schreef op vrijdag 19 april 2019 @ 15:32:
Even voor de duidelijkheid, wat is nou de bedoeling?

Moet het script lokaal op de machine van de bezoeker gedraaid worden?

Of moet het script op de webserver gedraaid worden?


Dat laatste kan prima. Dat eerste zou je uit je hoofd moeten zetten.
Sorry, maar ik kan echt niet duidelijker worden dan dat ik al ben..

Webserver en lokale machine zijn een en dezelfde.. Gewoon mijn laptopje..
Ik heb ervaring met PHP, als ik daar een print doe komt het gewoon op de webpagina, blijkbaar werkt Python anders.

Mijn lokale website draait netjes, draait dus op Django CMS.

[ Voor 4% gewijzigd door St@m op 19-04-2019 15:37 ]

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • 0 Henk 'm!

  • Stoelpoot
  • Registratie: September 2012
  • Niet online
St@m schreef op vrijdag 19 april 2019 @ 15:35:
[...]


Sorry, maar ik kan echt niet duidelijker worden dan dat ik al ben..

Webserver en lokale machine zijn een en dezelfde.. Gewoon mijn laptopje..
Ik heb ervaring met PHP, als ik daar een print doe komt het gewoon op de webpagina, blijkbaar werkt Python anders.

Mijn lokale website draait netjes, draait dus op Django CMS.
Oke, even heel simpel: Je hebt de Django-tutorial doorlopen en de eeste stap hiervan is "Hello, world. You're at the polls index." tonen. Wat let je om op dezelfde manier de output van je bestaande scripts te tonen?

Acties:
  • +1 Henk 'm!

  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 23:54
@St@m Ik probeer het nog een keer :D https://www.fullstackpython.com/flask.html

My favorite programming language is solder.


Acties:
  • +1 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 21:55

St@m

@ Your Service

Topicstarter
Ik denk dat ik er wel uit ga komen :) Merci allen

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • joekoe
  • Registratie: Februari 2009
  • Laatst online: 18-09-2024
Waarom output je je gegevens niet gewoon naar een simpele HTML file en bied je die aan op een webserver? Veel makkelijker gaat het niet worden.

Acties:
  • 0 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 00:02
joekoe schreef op vrijdag 19 april 2019 @ 16:41:
Waarom output je je gegevens niet gewoon naar een simpele HTML file en bied je die aan op een webserver? Veel makkelijker gaat het niet worden.
als de output niet verandert lijkt me dat idd de beste oplossing.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • Reacher
  • Registratie: Januari 2001
  • Laatst online: 20:48

Reacher

oldschool

Met flask idd. Kun je voor specifieke script/functie simpel een api maken en dan netjes terug als json output bijvoorbeeld.

but I don't like you in that way
the best things in life are illegal
born to do porn!


Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-10 08:45
Of als je handig bent met PHP maar niet perse met python, gewoon een exec() of zo

Acties:
  • 0 Henk 'm!

  • Barreljan
  • Registratie: December 2001
  • Laatst online: 30-09 13:10

Barreljan

...Zoom-Zoom...

mcDavid schreef op vrijdag 19 april 2019 @ 19:49:
Of als je handig bent met PHP maar niet perse met python, gewoon een exec() of zo
Inderdaad.

Of heel lelijk quick&dirty als je echt op je deadline zit, schrijf de output vanuit je python script naar een text file ipv print, dan kan je met oa php ofzo die wel weer uitlezen.... maar dat is echt last resort stuff, net als die exec functie :)

Time Attacker met de Mazda 323F 2.5 V6 J-spec | PV output


Acties:
  • 0 Henk 'm!

  • boe2
  • Registratie: November 2002
  • Niet online

boe2

'-')/

St@m schreef op vrijdag 19 april 2019 @ 14:41:
[...]


Ja zoiets, en dan op mijn website :p
Gewoon het script aftrappen en de output printen
Aangezien je zelf aangeeft dat het voor data science is lijkt me toch het gemakkelijkste om gewoon een notebook server op te zetten ipv je code om te vormen naar Django? Vooral omdat je aangeeft dat je ook data wil plotten, en hier wordt dat allemaal native ondersteund. Ga ervan uit dat alles van codevoorbeelden dat je zal tegenkomen voor je vakgebied ook voor jupyter geschikt zijn.

[ Voor 10% gewijzigd door boe2 op 24-04-2019 16:51 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind.' - Pratchett.


Acties:
  • 0 Henk 'm!

  • retoohs
  • Registratie: April 2019
  • Laatst online: 17:31
Ik zou eerder Flask gebruiken dan Django.

Als je een hele applicatie gaat bouwen met users en authentication dan is Django beter (mijn mening).

Acties:
  • 0 Henk 'm!

  • epic007
  • Registratie: Februari 2004
  • Laatst online: 22-09 15:11
Welke webserver gebruik je? Met Apache kan je python evt als cgi module installeren.

Je python files moeten dan wel een beetje worden aangepast om de juiste http headers terug te geven:

https://www.linux.com/blo...pache2-run-python-scripts

[edit]

In IIS kan het dus ook blijkbaar:

https://stackoverflow.com...6823316/python-on-iis-how

[ Voor 19% gewijzigd door epic007 op 09-05-2019 13:34 ]

Pagina: 1