Hay, je me demandais comment obtenir l’URL actuelle dans un modèle.
Dire que mon URL était
Comment ce retour au modèle ?
Merci
Hay, je me demandais comment obtenir l’URL actuelle dans un modèle.
Dire que mon URL était
Comment ce retour au modèle ?
Merci
Des précisions et des corrections doivent être portées à hypete de et Igancio de réponses, je vais juste résumer l'idée générale ici, pour référence future.
Si vous avez besoin de l' request
variable dans le modèle, vous devez ajouter le " django.de base.context_processors.demande à l' TEMPLATE_CONTEXT_PROCESSORS
paramètres, ce n'est pas par défaut (Django 1.4).
Vous devez également ne pas oublier l'autre contexte processeurs utilisés par vos applications. Donc, pour ajouter de la demande à l'autre par défaut processeurs, vous pouvez ajouter cette option dans vos paramètres, afin d'éviter de coder en dur le processeur par défaut de la liste (qui peut très bien changer dans les versions ultérieures):
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
TEMPLATE_CONTEXT_PROCESSORS = TCP + (
'django.core.context_processors.request',
)
Alors, à condition de vous envoyer l' request
contenu de votre réponse, par exemple comme ceci:
from django.shortcuts import render_to_response
from django.template import RequestContext
def index(request):
return render_to_response(
'user/profile.html',
{ 'title': 'User profile' },
context_instance=RequestContext(request)
)
vous pouvez récupérer l'URL dans votre modèle, par exemple comme ceci:
<p>URL of this page: {{ request.get_full_path }}</p>
(ou {{ request.path }}
si vous n'avez pas besoin de paramètres supplémentaires).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.