2014-11-16 18 views
11

Ben yönlendirmek ve ben x ve y şablonuna yapma olmadığını buluyorum Aşağıda Argümanları Flask'ın yönlendirme (url_for()) biçimine nasıl aktarabilirim?

benim kodudur Flask

kullanarak argümanları geçmek en iyi nasıl anlamaya çalışıyorum.

Sözdizim doğru mu? Temel bir şey eksik miyim? Ben şablonu işlemek mümkün değilim, ama yerine sadece find.html

@app.route('/found') 
def found(email,listOfObjects): 
    return render_template("found.html", 
     keys=email,obj=listOfObjects) 

@app.route('/find', methods=['GET','POST']) 
def find(): 
    if request.method == 'POST': 
     x = 3 
     y = 4 
     return redirect(url_for('found',keys=x,obj=y)) 

    return render_template("find.html") 

cevap

29

yönlendirme problemi found rota ile, gayet için şablon dönen yerine, url /found yönlendirme istiyorum. Değerleri bir uç noktaya iletmenin birkaç yolu vardır: yolun bir parçası olarak, URL parametrelerinde (GET istekleri için) veya gövde istemi (POST istekleri için). Başka bir deyişle

olarak görünmelidir kodunuzu aşağıdaki gibidir:

@app.route('/found/<email>/<listOfObjects>') 
def found(email, listOfObjects): 
    return render_template("found.html", 
     keys=email, obj=listOfObjects) 

Alternatif olarak:

return redirect(url_for('found', email=x, listOfObjects=y)) 
:

Ayrıca
@app.route('/found') 
def found(): 
    return render_template("found.html", 
     keys=request.args.get('email'), obj=request.args.get('listOfObjects')) 

, senin yönlendirme istek parametreleri, değil şablon parametreleri sağlamalıdır

Umarım yardımcı olur.

+0

Teşekkürler! Bir şans vereceğim. Bu tam olarak aradığım şey – kmomo

+2

. Eğer aradığınız şey buysa, o zaman cevap vermekten çekinmeyin ve/veya cevabı kabul edin. –

+1

Yönlendirmeyi kullanmak (url_for()) bir nesne parametre olarak iletilebilir mi? – tw1742

İlgili konular