3
votes

redirection vs django inversé

J'ai déjà utilisé la méthode inverse dans la méthode get_absolute_url dans le modèle, mais j'aimerais avoir une idée de la différence entre inverser et rediriger, j'ai essayé de rechercher sur Google à ce sujet, mais il y a presque rien Je ne sais pas quoi écrire aussi pour convaincre le débordement de pile que je n'ai pas d'autre description


0 commentaires

3 Réponses :


12
votes

Inverser et rediriger ont une signification différente. Voici une explication simple:

reverse dans Django est utilisé pour trouver l'URL d'une ressource donnée. Disons que vous avez un site Web de blog et à partir de la page principale, vous souhaitez fournir des liens vers vos articles de blog. Vous pouvez bien sûr simplement coder en dur / posts / 123 / et simplement changer l'ID de votre article de blog dans l'URL, mais cela rendra difficile de changer votre URL pour l'article à l'avenir. C'est pourquoi Django est livré avec une fonction inverse. Tout ce que vous avez à faire est de passer le nom de votre chemin URL (défini dans vos urlpatterns ) et Django trouvera pour vous l'URL correcte. Il est appelé reverse car il s'agit d'un processus inverse de détermination de la vue à appeler pour une URL donnée (quel processus est appelé résolution).

Les redirections ne sont pas spécifiques à Django ou à tout autre framework Web. La redirection signifie que pour une URL (ou une action) donnée, l'utilisateur doit être invité à visiter une URL spécifique. Cela peut être fait en envoyant une demande de redirection spéciale et à partir de là, le navigateur la gérera pour l'utilisateur, aucune action de l'utilisateur n'est donc requise dans ce processus. Vous pouvez utiliser le processus de redirection inverse pour déterminer l'URL vers laquelle l'utilisateur doit être redirigé.


1 commentaires

Je tiens à vous remercier beaucoup pour votre aide, je sais que cela pourrait être étrange de poser cette question, mais je pense que le malentendu sur la signification réelle de ces deux mots a rendu la chose déroutante pour moi, de toute façon, merci encore



3
votes

GwynBleidD vous a donné la réponse, mais il y a une raison pour laquelle vous pourriez être confus. Le raccourci Django redirect accepte des arguments sous plusieurs formes différentes. L'un d'eux est une crinière de modèle d'URL, avec des arguments, qui est ensuite transmise à l'inverse pour générer l'URL réelle vers laquelle rediriger. Mais ce n'est qu'un raccourci, pour activer un modèle commun.


1 commentaires

Merci beaucoup pour vos efforts



2
votes

La différence la plus fondamentale entre les deux est: La méthode Redirection vous redirigera vers un itinéraire spécifique en général. La méthode Inverser renverra l'URL complète de cet itinéraire sous forme de chaîne.


0 commentaires