2016-09-25 3 views
0

Ich möchte Werte an mein Python-Skript, basierend auf welcher Schaltfläche im HTML geklickt wurde. Ich kann es so machen, wenn es nur einen Wert:Capture mehr als einen Wert von URL mit Flask/Python

@app.route('/', defaults={'category': ''}) 
@app.route('/<category>') 
def index(category): 

Aber insgesamt gibt es drei Werte, was ich aufnehmen will, und ich kann nicht herausfinden, wie das zu tun. Alle diese Werte sind optional. Eine (eine Sortiermethode) hat einen Standardwert, die anderen zwei sind nicht standardmäßig festgelegt.

Wie kann ich dies innerhalb einer einzigen Funktion und 3 Variablen arbeiten lassen? Vielen Dank.

Antwort

0

Sie können request.args für Query-String-Parameter verwenden, die optional sein:

@app.route('/') 
def index(): 
    category = request.args.get('category', '') 
    attr1 = request.args.get('attr1') 
    attr2 = request.args.get('attr2') 

request.args ist ein dict (genauer ein MultiDict).

aussehen würde eine Anfrage wie folgt

/?category=my_category&attr1=some_value&attr2=some_value oder

/?attr1=some_value

/

+0

Super, danke! –

0

Sie können in Ihrer Routing/Funktion mehr als 1 Variable:

@app.route('/', defaults={'category': '', 'var2': '', 'var3': ''}) 
@app.route('/<category>/<var2>/<var3>') 
def index(category, var2, var3): 
Verwandte Themen