Flacon url_for (), avec de multiples paramètres
Le Problème:
J'ai un bouton de saisie dans un formulaire, lorsqu'un de ses soumis, réorienter les deux paramètres , search_val
et i
, à un more_results()
fonction, (ci-dessous), mais j'obtiens une erreur de type lorsque wsgi construit.
L'erreur est: TypeError: more_results() takes exactly 2 arguments (1 given)
html:
<form action="{{ url_for('more_results', past_val=search_val, ind=i ) }}" method=post>
<input id='next_hutch' type=submit value="Get the next Hunch!" name='action'>
</form>
flacon fonction:
@app.route('/results/more_<past_val>_hunches', methods=['POST'])
def more_results(past_val, ind):
if request.form["action"] == "Get the next Hunch!":
ind += 1
queried_resturants = hf.find_lunch(past_val) #method to generate a list
queried_resturants = queried_resturants[ind]
return render_template(
'show_entries.html',
queried_resturants=queried_resturants,
search_val=past_val,
i=ind
)
Aucune idée sur la façon d'obtenir au-delà de l'erreur de génération?
Ce que j'ai essayé:
La création de lien vers une url de Flacon application dans jinja2 modèle
pour l'utilisation de plusieurs paramètres avec url_for()
Erreur de construction avec des variables et des url_for en Flacon
même construction erros
Comme note de côté, le but de la fonction est d'itérer sur une liste quand quelqu'un frappe un bouton "page suivante". Je suis de passage la variable i
afin que je puisse avoir une référence à garder l'incrémentation par le biais de la liste. Est-il un flacon /jinja 2 la méthode qui fonctionne le mieux? J'ai regardé dans le cycling_list fonctionnalité, mais elle ne semble pas pouvoir être utilisé pour effectuer le rendu d'une page et puis re-rendre avec la cycling_list.next()
.
OriginalL'auteur agconti | 2013-07-26
Vous devez vous connecter pour publier un commentaire.
Votre itinéraire ne précise pas comment la remplir plus que juste une
past_val
arg. Flacon peut pas comme par magie de créer une URL qui va passer deux arguments si vous ne lui donnez pas une à deux arguments modèle.OriginalL'auteur Amber
Il est également possible de créer des itinéraires qui prennent en charge un nombre variable d'arguments, en spécifiant les valeurs par défaut pour certains des arguments:
Cela ne fonctionne pas pour moi. Il donne 404 si je ne passe pas des arguments de b et de c
OriginalL'auteur plaes