2013-07-14 8 views
5

Flask's url_for ha un limite di stringa per le stringhe di query?L'URL di Flask ha un limite di stringa per le stringhe di query?

url_for('verify', t='e5e781eef6f1fa9d9062c7831ae7ec5bed3b67ac', _external=True) 

Ciò restituisce:

http://127.0.0.1:5000/verify?t=e5e781eef6f1fa9d9062c783 

La stringa originale è di 40 caratteri, la stringa di query generata è di 24 caratteri.

Cosa sta succedendo?

+3

Come si definisce la vista perché ad esempio 'app.add_url_rule ('/ ', 'verifica', lambda t: 'hello')' e 'app.add_url_rule ('/', 'verifica', lambda: ' ciao ') 'restituisci il valore giusto per me? Hai avuto 'app.url_defaults' o altre manipolazioni con' app.url_default_functions'? – tbicr

+0

Mi sembra davvero strano che tu abbia i parametri GET come parte del percorso. Proverei a usare qualcosa come ''/verify/ ''. –

risposta

1

non riesco a riprodurre questo comportamento da zero

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

@app.route("/") 
def hello(): 
    print url_for('hello', t='e5e781eef6f1fa9d9062c7831ae7ec5bed3b67ac', _external=True) 
    return "Hello World!" 

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

>>> * Running on http://127.0.0.1:5000/ 
>>> http://127.0.0.1:5000/?t=e5e781eef6f1fa9d9062c7831ae7ec5bed3b67ac 

Esso restituisce l'url destra. C'è forse un problema nel tuo output del modello Jinja.

Problemi correlati