2016-07-22 4 views
0

Ich habe eine Menge Probleme bei der Übergabe eines URL-Parameters mit request.args.get.Wie übergeben Sie einen URL-Parameter mit Python, Flask und der Befehlszeile

Mein Code ist folgende:

from flask import Flask, request 
app= Flask(__name__) 

@app.route('/post?id=post_id', methods=["GET"]) 
def show_post(): 
    post_id=1232 
    return request.args.get('post_id') 

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

Nach dem Speichern, habe ich immer Python filename.py in der Befehlszeile finden Sie unter Ausführen auf http://0.0.0.0:5000/ (Drücken Sie STRG + C zum Beenden) als die Rückkehr auf den Befehl Linie, und geben Sie dann die URL (http://ip_addres:5000/post?id=1232) in Chrom ein, um zu sehen, ob es 1232 zurückgibt, aber es wird es nicht tun! Bitte helfen Sie.

Antwort

0

request.args ist, was Sie suchen.

@app.route('/post', methods=["GET"]) 
def show_post() 
    post_id = request.args.get('id') 

request.args ist es, alle GET-Parameter erhalten und Multidict wie diese MultiDict([('id', '1232'),]) konstruieren so get verwenden Sie können die ID

+0

Vielen Dank! Was wäre die URL dann bitte? – SAS

+0

Okay, cool!: D Vielen Dank! Ihre Antwort war genauso hilfreich! Jetzt kann ich nicht nur den Code verwenden, den du angeboten hast, sondern auch verstehen, was er tut :) – SAS

6

Sie get sollten die Abfrageparameter aus der Route verlassen, da sie nicht Teil sind davon.

@app.route('/post', methods=['GET']) 
def show_post(): 
    post_id = request.args.get('id') 
    return post_id 

request.args ist ein Wörterbuch in der URL übergeben alle Abfrageparameter enthält.

+0

Was wäre dann die URL? Ich danke dir sehr! – SAS

+0

Die URL wäre immer noch "http: // : 5000/post? Id = 1232". 'id' ist ein Abfrageparameter, der im' request.args' Dictionary mit dem Wert '1232' erscheint. Hinweis Ich habe die obige Antwort bearbeitet, um den Namen des Parameters zu korrigieren. – bdjett

+0

Also im Grunde, die Anfrage.args.get ('ID') fügt automatisch den Parameter in der URL? – SAS

Verwandte Themen