Flask Werte weiterverarbeiten in Python

Django, Flask, Bottle, WSGI, CGI…
Antworten
rehgum
User
Beiträge: 22
Registriert: Montag 28. Februar 2022, 16:45

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.
WhiteyW
User
Beiträge: 5
Registriert: Donnerstag 15. Februar 2018, 11:43

Mit "return" verlässt Du die Funktion "p2lwert", weshalb alles was danach kommt nicht mehr ausgeführt wird.
rehgum
User
Beiträge: 22
Registriert: Montag 28. Februar 2022, 16:45

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
Antworten