IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

recuperer l argument pk dans la template Update


Sujet :

Django Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Par défaut recuperer l argument pk dans la template Update
    bonjour

    je suis débutant et j ai beau chercher je ne trouve pas comment récupérer dans ma template de modification l argument qui est dans mon url.

    Pour résumer je reviens sur ma vue de modification (vue generique : UpdateView)

    j ai bien ca : http://127.0.0.1:8000/sav/update/21/

    et dans ma template je veux retourner sur une autre page (CreateView d un autre modele) via un bouton pour ajouter des lignes avec ce pk.

    comme ca : <a href="{% url 'sav:create-sav-prod' pk=XXX %}" role="button" >Ajouter Produit</a>

    seulement je n arrive pas a trouver la variable a mettre a la place des XXX, j ai essaye form.pk

    merci d avance

  2. #2
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Par défaut
    j ai trouvé un truc mais n y a t il pas plus simple ?

    dans ma vue j ai ajouté ca :

    def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context["id_sav"] = self.kwargs.get('pk')

    et du coup dans ma template je peux faire cette recupeartion

    <a href="{% url 'sav:create-sav-prod' pk=id_sav %}" role="button" >Ajouter Produit</a>

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Citation Envoyé par zaouii Voir le message
    j ai trouvé un truc mais n y a t il pas plus simple ?

    dans ma vue j ai ajouté ca :

    def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context["id_sav"] = self.kwargs.get('pk')

    et du coup dans ma template je peux faire cette recupeartion

    <a href="{% url 'sav:create-sav-prod' pk=id_sav %}" role="button" >Ajouter Produit</a>
    Sans toucher à get_context, on peut pas faire simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% url 'sav:create-sav-prod' pk=id %}
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% url 'sav:create-sav-prod' pk=pk%}
    ?

    Tu peux essayer de vérifier le contenu de context afin de voir si cette possibilité existe...

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/06/2016, 09h19
  2. Réponses: 1
    Dernier message: 10/03/2011, 15h01
  3. Date en argument du tag url dans un template
    Par Heliodromel dans le forum Django
    Réponses: 5
    Dernier message: 26/08/2009, 15h48
  4. Réponses: 11
    Dernier message: 18/02/2007, 15h37
  5. Recuperer derniere valeur modifiée dans un trigger
    Par xabs dans le forum Développement
    Réponses: 2
    Dernier message: 06/08/2004, 16h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo