2013-07-14 17 views
5

Flask'in url_for sorgu dizeleri için bir dize sınırlaması var mı?Flask'in url_fors sorgu dizeleri için bir dize sınırlaması var mı?

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

Bu döndürür:

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

orijinal dize 40 karakterdir, oluşturulan sorgu dizesi 24 karakterdir.

Neler oluyor?

+3

'app.add_url_rule ('/ ', lambda t 'doğrulamak': 'merhaba')' ve 'app.add_url_rule ('/', 'doğrulamak', lambda: ' merhaba ')' benim için doğru değeri döndürmek? "App.url_defaults" veya "app.url_default_functions" ile başka bir manipülasyonunuz var mıydı? – tbicr

+0

Bana rotada GET parametresi olan çok garip görünüyor. ''/Verify/ '' gibi bir şey kullanmayı denerdim. –

cevap

1

sıfırdan

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 

Doğru url döndürür bu davranışı yeniden olamaz. Jinja şablon çıktınızda bir sorun olabilir. nedeniyle örneğin görünümünüzü tanımlamak nasıl

İlgili konular