Ajouter une chaîne de requête de l'URL dans django
J'ai une fonction qui appelle une autre fonction et passe une chaîne de requête à la fin de l'URL.
Comment pourrais-je accomplir le suivant --
if my_videos:
return render(request, template, {kwargs}) + "?filter=others&sort=newest"
Note: je ne m'inquiète pas si j'utilise le rendu ou non, son utilisation est simplement pour souligner ce que je suis en train d'accomplir. Merci.
- Voir cette réponse pour un simple personnalisées balise de modèle pour rendre les chaînes de requête.
Vous devez vous connecter pour publier un commentaire.
Passer la chaîne de requête dans le modèle:
example.com/videos/?filter=other&sort=newest
?Je ne suis pas sûr de savoir si c'était possible à l'époque de cette question, mais si vous avez les données disponibles pour construire la chaîne de requête dans votre point de vue et de passer en tant que cadre, vous pouvez faire usage de la QueryDict classe. Après la construction, vous pouvez simplement appeler sa urlencode d'une fonction pour faire la chaîne.
Exemple:
query_string
ont maintenant la valeuru'filter=other&sort=newest&values=1&values=2&values=c'
Voici deux smart balises de modèle pour la modification des paramètres de chaîne de requête dans le modèle:
Dans les modèles que vous pourriez faire quelque chose comme ce qui suit:
Dans la première, la chaîne de requête devra être sous la forme de "http://localhost.loc/app/view/user_id"
Dans la seconde, la chaîne de requête doit être sous la forme de "http://localhost.loc/app/view?param=value"
Dans le troisième, c'est simple, cependant je recommande le premier qui dépend du nom de la mappages d'url appliquée dans urls.py
L'application de ce de point de vue, devrait être fait à l'aide de HttpResponseRedirect
Astuce: pour obtenir la valeur de chaîne de requête de tout autre point de vue
Rediriger vers l'URL que vous souhaitez à l'aide de
HttpResponseRedirect