Question

Je ne sais pas s'il est possible, mais je voudrais ajouter quelques paramètres à la fin de l'URL en utilisant le middleware. Peut-il se faire sans redirection URL demandée après acteur de modification?

à savoir

. utilisateur clique: ... / some_link et middleware Récrit à: ... / some_link par1 = 1 & PAR2 = 2

Autre moyen est de modifier et de remplacer tous les Reponse lien HTML, mais ce n'est pas quelque chose que je voudrais faire.

Merci

Était-ce utile?

La solution

Je pense que cela dépend vraiment de votre problème et ce que vous essayez de faire exactement.

Vous ne pouvez pas modifier l'URL sans rediriger l'utilisateur, que vous ne pouvez pas modifier l'URL d'une page sans rechargement. Fondamentalement, une redirection est une réponse indiquant à l'utilisateur de passer, il n'y a aucun moyen de réellement changer l'URL. Notez que même si vous le faites quelque chose comme JavaScript que vous faites essentiellement la même chose que d'une redirection, il ne peut pas être fait côté client ou serveur.

Je pense que cela pourrait aider si vous nous expliquer pourquoi vous avez besoin de transmettre ces informations via l'URL. Pourquoi ne pas stocker des données dans la session?

Je suppose que vous pouvez ajouter les données à l'objet de la demande, mais cela ne pas ajouter à l'URL.

Autres conseils

class YourRedirectMiddleware:

    def process_request(self, request):
        redirect_url = request.path+'?par1=1&par2=2'
        return HttpResponsePermanentRedirect(redirect_url)

qu'est-ce que vous essayez d'accomplir et pourquoi cette façon?

Vous pouvez faire ce que vous aimez dans le middleware. Vous avez accès à l'objet de la demande, vous pouvez obtenir l'URL et rediriger vers un nouveau si vous voulez.

Ma question serait, pourquoi voulez-vous faire? Si vous avez besoin de conserver des informations sur la demande, la place de le faire est à la session.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top