Seite 1 von 1

Flask Werte weiterverarbeiten in Python

Verfasst: Freitag 4. März 2022, 10:28
von rehgum
Hallo Zusammen,

ich arbeite gerade an einen Projekt und da läuft auch alles. Aber ich habe dann gesehen das man mit Flask einfach durch eine Linkeingabe Werte an das python-script weiter geben kann.
Also habe ich es mal versucht:

Code: Alles auswählen

from flask import Flask, request

@app.route('/')
def main():
    return 'Hallo du Held'

@app.route('/p2lwert', methods=['GET'])
def p2lwert():
    # if key doesn't exist, returns None
    print ("Wird erkannt")
    teilnehmer = request.args.get('teilnehmer')
    nummer = request.args.get('nummer')
    return '''
        <h1>Teilnehmerfarbe ist: {}</h1>
        <h1>mit dem Barcode: {}</h1>
'''.format(teilnehmer, nummer)

    print (teilnehmer)

    if teilnehmer == 1:
        print ("der teilnehmer 1 wurde erkannt")
    else:
        print ("ich kann nichts")

    print (teilnehmer)
    print (nummer)
    print ("bis hier kommt er")

if __name__ == "__main__":
    app.run(port=5055, host='0.0.0.0')

    print ("und bis hier auch noch")
Nun versuche ich den Link:
http://p2l:5055/p2lwert?teilnehmer=1&nummer=100100100

und bekomme im Browser:
Teilnehmerfarbe ist: 1
mit dem Barcode: 100100100

sexy.. aber in der Console habe ich nur das hier:
* Serving Flask app "p2l" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:5055/ (Press CTRL+C to quit)
Wird erkannt
192.168.178.125 - - [03/Mar/2022 19:08:52] "GET /p2lwert?teilnehmer=1&nummer=100100100 HTTP/1.1" 200 -
Wieso wird nur der erste print ausgeführt und die Anderen nicht?

Danke schon mal.

Re: Flask Werte weiterverarbeiten in Python

Verfasst: Freitag 4. März 2022, 11:04
von WhiteyW
Mit "return" verlässt Du die Funktion "p2lwert", weshalb alles was danach kommt nicht mehr ausgeführt wird.

Re: Flask Werte weiterverarbeiten in Python

Verfasst: Freitag 4. März 2022, 12:31
von rehgum
Da scheint was wahres dran zu sein :D
Manchmal steht man auf dem Schlauch.
Ich fange ja gerade erst an mit python.
Jetzt kann ich weiter tüffteln :D

So funktioniert es dann auch:

Code: Alles auswählen

@app.route('/p2lwert', methods=['GET'])
def p2lwert():
    # if key doesn't exist, returns None
    print ("Wird erkannt")
    teilnehmer = request.args.get('teilnehmer')
    nummer = request.args.get('nummer')
    print (teilnehmer)
    if teilnehmer == 1:
        print ("der teilnehmer 1 wurde erkannt")
    else:
        print ("ich kann nichts")
    print (teilnehmer)
    print (nummer)
    print ("bis hier kommt er")
    return     '''
        <h1>Teilnehmerfarbe ist: {}</h1>
        <h1>mit dem Barcode: {}</h1>
    '''.format(teilnehmer, nummer)
Danke