Seite 1 von 1

Browserdarstellung

Verfasst: Donnerstag 22. Januar 2015, 09:46
von pygirl
Hi ihr :)

Ich bin blutiger Anfänger was Python-Programmierung betrifft und deshalb tut's mir auch leid, falls meine Frage ziemlich dämlich ist :D Ich hoffe trotzdem, dass ihr mir weiterhelfen könnt.
Ich habe einen Einheitenrechner mit Py programmiert, der über eine Art "Konsole" dargestellt wird. Allerdings möchte ich, dass mein Programm auch über den Webbrowser aufgerufen werden kann, bzw. über einen localhost. Ich möchte also ein Py-Programm, durch das man mit dem Webbrowser kommunizieren kann, bzw. mein Umrechner damit dargestellt wird.
Ich weiß dass das irgendwie geht, aber leider nicht, wie. :K Meine Google-Suche hat auch noch nicht wirklich was ergeben, was allerdings auch daran liegen könnte, dass ich nicht weiß, wie mein "Browser-Darstellungs-Dings" korrekterweise heißen müsste.

Bin über jeden Tipp und Hinweis dankbar :)

PS: Hoffe das ist nicht der falsche Thread dafür :D

Re: Browserdarstellung

Verfasst: Donnerstag 22. Januar 2015, 10:03
von BlackJack
@pygirl: Du bräuchtest dafür ein Webrahmenwerk, es sei denn Du möchtest tatsächlich alles auf unterster Ebene selber programmieren, dann wäre das `Netzwerkprogrammierung`-Unterforum doch richtig gewesen. ;-)

Bei den Webrahmenwerken hättest Du dann die Wahl zwischen einer grossen Komplettlösung wie Django wo alles vorhanden ist um grössere Webanwendungen zu erstellen oder einem Mikrorahmenwerk wie Bottle oder Flask.

Da bei dem Einheitenumrechner ja wahrscheinlich keine Daten gespeichert werden oder Benutzer unterschieden oder verwaltet werden müssen, würde ich sagen ein Mikrorahmenwerk reicht aus. Du möchtest ja nur die Benutzereingaben vom Browser zur Webanwendung übertragen, dort die Rechnung durchführen, und das Ergebnis wieder an den Browser ausliefern.

Du müsstest Dich mit HTML, eventuell CSS, und wie HTTP grob funktioniert auseinandersetzen. Und dann einfach mal ein Tutorial, zum Beispiel das von Bottle durcharbeiten (http://bottlepy.org/docs/stable/).

Eventuell musst Du Deinen Einheitenumrechner noch anpassen falls dort Berechnungen und Benutzerinteraktion bisher noch nicht sauber getrennt sind.

Re: Browserdarstellung

Verfasst: Montag 2. Februar 2015, 11:22
von pygirl
Vielen Dank BlackJack :)
Das probiere ich gleich mal aus :)

Re: Browserdarstellung

Verfasst: Montag 9. Februar 2015, 18:31
von pygirl
Inzwischen habe ich mein Programm zum Laufen bekommen. Mein Problem ist jetzt lediglich die Umrechnung - diese funktioniert im Browser noch nicht. Wenn ich als Rechnung

Code: Alles auswählen

def calc(environ, start_response):
    start_response('200 OK', [ ('Content-type','text/html')])
    params = environ['params']
    param_art = params.get('art')
    param_von = params.get('von')
    param_nach = params.get('nach')
    param_wert = params.get('wert')
    # Die vorherigen Werte sind nötig, um zu definieren worum es sich bei welchem Parameter handelt. 
    # Hier soll gerechnet werden:
    ergebniswert = param_wert*2
setze (die 2 ist nur ein Beispiel um zu sehen ob die Rechnung allgemein funktioniert) gibt er mir den param_wert 2x aus. Also bei 50 5050. Ich habe schon versucht das Ganze in Klammern zu setzen und int davor zu setzen, das geht aber auch nicht.
Wo liegt mein Fehler? :(

Re: Browserdarstellung

Verfasst: Montag 9. Februar 2015, 18:48
von Sirius3
@pygirl: die Parameter sind alles Strings. Du mußt also Dein int an die richtige Stelle setzen.

Re: Browserdarstellung

Verfasst: Dienstag 10. Februar 2015, 12:08
von pygirl
Oh! So weit hab ich nicht gedacht :oops:
Danke :) Jetzt läufts :)

Re: Browserdarstellung

Verfasst: Dienstag 10. Februar 2015, 15:31
von Hyperion
Noch kurz etwas zum Design: Der Kommentar "Hier soll gerechnet werden" und die Demo(?)-Zeile darunter lassen vermuten, dass Du Deine Berechnung zu stark mit dem Code für die Web-Applikation vermischst! Du solltest den Code für die Berechnung *unabhängig* vom Webrahmenwerk schreiben und diesen nur *aus* dem Handler-Code aufrufen.