1 votes

Supprimer() vues et code de modèle

Modèle:

Nom:
{% for customer in customer %}

{% endfor %}

Vues:

def delete(request, name):
       Customer.objects.get(name=name).delete()
       return HttpResponse('supprimé')

Urls.py

(r'^customer/delete/', 'quote.excel.views.delete'),

Ceci ne fonctionne pas, veuillez corriger le code.

1voto

jcdyer Points 7956

Votre URLConf ne récupère aucune donnée à transmettre à la variable name. Vous devez soit la récupérer en tant que partie de l'URL, soit laisser la récupérer comme argument POST.

En tant que partie de l'URL:

(r'^client/(?P[a-z]*)/supprimer/', 'quote.excel.views.delete')

def delete(request, name):
    if request.method == "POST": 
        # Les requêtes GET ne doivent JAMAIS supprimer quoi que ce soit, 
        # sinon le robot de Google va compromettre vos données.
        Client.objects.get(name=name).delete()

Comme variable POST:

(r'^client/supprimer/', 'quote.excel.views.delete')

def delete(request):  # Aucun argument passé
    if request.method == "POST":
        name = request.POST['name']
        Client.objects.get(name=name).delete()

0voto

Amarghosh Points 33957
Customer.objects.get(nom = request.POST['nom']).supprimer()

D'ailleurs, êtes-vous sûr que la variable action dans le modèle est bel et bien 'delete'? Sinon, l'URL appelée (et donc la méthode) sera différente.

Prograide.com

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.

Powered by:

X