Pertanyaan Bagaimana cara mendapatkan nilai parameter permintaan get dalam termos?


Jawaban yang saya temukan di web adalah untuk digunakan request.args.get. Namun, saya tidak bisa mengelolanya bekerja. Saya memiliki contoh sederhana berikut:

from flask import Flask
app = Flask(__name__)

@app.route("/hello")
def hello():
    print request.args['x']
    return "Hello World!"

if __name__ == "__main__":
    app.run()

aku pergi ke 127.0.0.1:5000/hello?x=2 di browser saya dan sebagai hasilnya saya mendapatkan:

Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Apa yang saya lakukan salah?


36
2018-03-13 15:31


asal


Jawaban:


Jawaban sederhana adalah Anda belum mengimpor request objek global dari paket flask.

from flask import Flask, request

Ini mudah untuk menentukan sendiri dengan menjalankan server pengembangan dalam mode debug dengan melakukan

app.run(debug=True)

Ini akan memberi Anda stacktrace termasuk:

print request.args['x']
NameError: global name 'request' is not defined

66
2018-03-13 15:40



http: // localhost: 5000 / api / iterator / opel / next? n = 5 

Untuk sesuatu seperti kasus sebelumnya

from flask import Flask, request
n = request.args.get("n")

Dapat melakukan trik


1
2018-03-30 10:24