Redirection en Flacon
J'ai une Table DB appelé Élément. Article a un status
attribut, qui peuvent être soit des
new
todo
doing
done
Sur mon site web, j'ai deux vues montrant les tables de la Rubrique.
- Vue 1 montre tous Articles (avec un statut de colonne).
- Vue 2 seulement montre les Éléments dont l'état
todo
.
Selon l'état de l'Élément, il y a certaines actions qu'un utilisateur peut effectuer ("déplacer vers todo", "passer à la pratique", "se déplacer à fait").
Si vous envisagez de Vue 1 et 2, ils ont en commun le fait qu'ils contiennent des éléments dont l'état todo
. Donc sur les deux j'ai un Bouton de lien vers une URL appelée
/Item/<id>/moveToDoing
où l'id de l'Élément de statut est réglé à "faire".
Maintenant, je veux que l'utilisateur soit redirigé vers où il a cliqué sur le bouton (1 ou 2).
Mes questions sont:
- Comment faire cela avec le Flacon? Je me sens
http://flask.pocoo.org/snippets/62/ n'est pas tout à fait ce dont j'ai besoin,
parce que je n'ai pas de requête POST avec un formulaire ici. (devrais-je?) - Suis-je le faire de la bonne façon ou est-il une convention sur la façon de résoudre ce problème?
Pas pour votre question, mais pourquoi ne pas concevoir votre url à
/item/<id>/moveto/<status>
OriginalL'auteur kadrian | 2013-01-11
Vous devez vous connecter pour publier un commentaire.
Je suis en utilisant la fonction d'assistance qui est recommandé ici: http://flask.pocoo.org/docs/reqcontext/
L'utiliser dans la vue
Sans paramètres, il va rediriger l'utilisateur vers d'où il vient (
request.referrer
).Vous pouvez ajouter le paramètre get
next
pour spécifier une url. Ceci est utile pour oauth par exemple.J'ai également ajouté un affichage par défaut si il ne devrait pas être référent pour une raison quelconque
redirect_url('.another_view')
L'extrait de code que vous lié fondamentalement la même, mais plus sécurisé en vous assurant que vous ne peut pas être redirigé vers un utilisateur malveillant de la page sur un autre hôte.
request.referrer
est ce dont j'avais besoin pour un simple Arrière-bouton/lien, merci!OriginalL'auteur Smoe